Всем доброго времени суток. Пишу курсовик, необходимо написать программку под DOS на ассемблере, которая бы изменяла изображение на экране. В качестве оболочки импользуется Norton Commander, т.е. из него запускается эта самая програмка и меняет изображение на экране по любому алгоритму и ждёт надатия клавиши, после нажатия возвращает экран в исходное состояние. Перепробовал разные варианты, но ничего не получилось, окошко Нортона изменить не удается..(( немонятно по каким адресам в видеопамяти оно храниться... Помогите плиииз, кто чем может.
Код (Text): org 100h mov al,13h int 10h push 0A000h pop es xor di,di mov byte[es:di],1 @@: mov al,byte[es:di] add al,[es:di-320] add al,[es:di-1] dec al sete [es:di] inc di jne @b int 16h ret
Всё это кроме как на DOSbox'е запустить можно ли на современных ОС? полно документации старой как мир, а запускать ис=под ДОСбокса лень(
Окна "нортона" находятся в текстовом режиме 80*25, в 1 странице (не в 0-й!). При запуске своей программы нортон переключает страницы, в результате его окно пропадает, а ваша программа может работать. Если вы измените содержимое 1-й страницы, то ничего не изменится: нортон после возвращения нарисует свою таблицу по новому ))) то есть... 1. Не меняя видеорежима, сделать текущей 1-ю страницу. На экране окажется окно нортона в том виде, в каком оно было при запуске программы. 2. Сделать все что угодно (переставить местами блоки символов, изменить атрибуты, нарисовать посередине окно с надписью и т.д. и т.п.). Ждать клавиши. 3. Перед выходом просто вызвать int 10h с установкой видеорежима 03. Нортон, получив управление, отрисует свое окно заново. А на фоне не останется ничего, потому что установка режима очищает видеопамять. Иначе будет смешной эффект при нажатии Ctrl-O... кажется так.