Resid15.com из рассылки Калашникова

Тема в разделе "WASM.ASSEMBLER", создана пользователем AsmZone, 1 сен 2007.

  1. AsmZone

    AsmZone New Member

    Публикаций:
    0
    Регистрация:
    1 сен 2007
    Сообщения:
    2
    В 15 выпуске Калашникова говорится, что запуская резидент и нажимая Shift+PrintScreeen создаётся файл Screen.txt, куда записывается содержимое экрана. Ну т.к. 05h - прерывание чистого MS-DOS, а винда только эмулирует её, конечно же,никакого файла не создалось: пришлось запускаться с дискеты MS-DOS, куда я предварительно записал резидент.В конечном счёте на дискету записался файл Screen.txt, только он был весь заполнен символами "я" и занимал 5Кило. Кстати, он показывал верную информацию о размере и прочей фигне, которая прога должна была изменить в DTA-области. Исходник - файл Resid15.asm
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    А в чем собственно вопрос?
     
  3. AsmZone

    AsmZone New Member

    Публикаций:
    0
    Регистрация:
    1 сен 2007
    Сообщения:
    2
    MSoft говорит:
    А в чем собственно вопрос?
    ---------------------------------
    Прога не работает как нужно. При нажатии на комбинацию клавиш Shift+PrintScreen в файл Screen.txt должно записаться содержимое экрана(исходник - Resid15.asm) , а записываются одни символы "я".
     
  4. sergh

    sergh New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    128
    Адрес:
    rsdn
    Возможно, перепутали местами символ и его атрибуты, в результате получился файл из атрибутов. Это тут:
    Код (Text):
    1.        
    2. lodsw       ;Берем первый символ и атрибут в AX (lodsW)
    3. stosb       ;Заносим символ БЕЗ атрибута из AL в 1-ую
    4.         ;видеостраницу (stosB)
    Не помню в каком порядке они идут, возможно, символ оказывается в AH.
     
  5. grinay

    grinay New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    19
    работа с байтами-так и заноси байты
    lodsb
    stosb
    Сорс не глядел-но по последнему утверждению верно будет вот это)