Работа с видеопамятью

Тема в разделе "WASM.ASSEMBLER", создана пользователем V1lko, 15 янв 2009.

  1. V1lko

    V1lko New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    53
    Всем доброго времени суток.
    Пишу курсовик, необходимо написать программку под DOS на ассемблере, которая бы изменяла изображение на экране.
    В качестве оболочки импользуется Norton Commander, т.е. из него запускается эта самая програмка и меняет изображение на экране по любому алгоритму и ждёт надатия клавиши, после нажатия возвращает экран в исходное состояние.
    Перепробовал разные варианты, но ничего не получилось, окошко Нортона изменить не удается..(( немонятно по каким адресам в видеопамяти оно храниться...
    Помогите плиииз, кто чем может.
     
  2. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    Скачай TechHelp... если мне не изменяет память, там все это есть.
     
  3. V1lko

    V1lko New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    53
    Сори, впервые на вашем форуме и портале вообще, не подскажит где го взять? (TechHelp...)
     
  4. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    а с google ?? тоже не знакомы? Oo
    http://www.whitetown.com/ng/tech60.zip
     
  5. V1lko

    V1lko New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    53
    ..))
    Спасибо, буду разбираться!
     
  6. murder

    murder Member

    Публикаций:
    0
    Регистрация:
    3 июн 2007
    Сообщения:
    628
    Код (Text):
    1. org 100h
    2. mov  al,13h
    3. int  10h
    4. push 0A000h
    5. pop  es
    6. xor  di,di
    7. mov  byte[es:di],1
    8. @@:  mov  al,byte[es:di]
    9.      add  al,[es:di-320]
    10.      add  al,[es:di-1]
    11.      dec  al
    12.      sete [es:di]
    13.      inc  di
    14. jne @b
    15. int 16h
    16. ret
     
  7. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Всё это кроме как на DOSbox'е запустить можно ли на современных ОС? полно документации старой как мир, а запускать ис=под ДОСбокса лень(
     
  8. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Окна "нортона" находятся в текстовом режиме 80*25, в 1 странице (не в 0-й!). При запуске своей программы нортон переключает страницы, в результате его окно пропадает, а ваша программа может работать. Если вы измените содержимое 1-й страницы, то ничего не изменится: нортон после возвращения нарисует свою таблицу по новому :)))) то есть...

    1. Не меняя видеорежима, сделать текущей 1-ю страницу. На экране окажется окно нортона в том виде, в каком оно было при запуске программы.
    2. Сделать все что угодно (переставить местами блоки символов, изменить атрибуты, нарисовать посередине окно с надписью и т.д. и т.п.). Ждать клавиши.
    3. Перед выходом просто вызвать int 10h с установкой видеорежима 03. Нортон, получив управление, отрисует свое окно заново. А на фоне не останется ничего, потому что установка режима очищает видеопамять. Иначе будет смешной эффект при нажатии Ctrl-O...

    кажется так.