Assembler для начинающих



         

Отладчик DEBUG - часть 5


    появление значения 0A. Мы уже выяснили, почему получается значение
    [0030], вместо имени OUTPUT_CHARACTER. Что же такое символ "B,"?
 
      Ассемблер оперирует переменными вполне определенного типа. Это
    значит, что во время ассемблирования тип переменных может иметь
    значение: байт, слово или какой-нибудь другой. Таким образом, когда
    программист вводит команду, содержащую ссылку на область памяти, то
    ассемблеру известен размер этой области. На программа DEBUG не
    имеет представления о длине переменной, записанной по адресу
    [0030]. Однако программе дизассемблирования точно известно, что
    данная команда пересылает ровно один байт данных, указанных
    непосредственно в команде, по адресу [0030]. Таким образом, символ
    "B," указывает на то, что непосредственная операция состоит в
    пересылке одного байта. Для получения того же самого результата с
    помощью ассемблера соответствующая команда должна иметь вид:
 
      CMP   BYTE PTR [0030],10
 
      Вы можете рассматривать символ "B," как сокращение BYTE PTR.
    Аналогично символ W используется для WORD PTR,L - для длинного
    (far) возврата и т.д.
 
      Вместе с командой в дизассемблированном виде вводится и ее
    объектный код. Как вы можете заметить, по адресу 04C5:001C записаны
    какие-то команды, которых нет на Фиг. 5.13. Эта область данных,
    содержащая строку "Это тест". Однако команде, осуществляющей
    дизассемблирование, не известно, где в программе кончаются команды
    и начинаются данные. Таким образом она все интерпретирует как
    команды. (Кстати, именно эта последовательность команд выполнялась
    бы, если в вашей программе был сделан переход в рассматриваемую
    область данных.)
 
      Команда вывода на экран D позволяет просмотреть на дисплее
    области данных. Отображение на экране состоит из двух частей.
    Вместе с листингом содержимого ячеек памяти в шестнадцатеричном
    представлении приводятся символы в коде ASCII, которые



Содержание  Назад  Вперед