Архитектура микропроцессоров и их программирование. Карягин А.П. - 18 стр.

UptoLike

Составители: 

18
вывода помещается шестнадцатеричная информация, а в правую - информа-
ция в коде ASCII. Вторая особенность заключается в том, что кодовая комби-
нация, не имеющая символьного представления в коде ASCII, изображается в
правой части поля вывода с помощью точки.
Команда "U" программы DEBUG - означает "деассемблирование" -
осуществляет преобразование произвольных кодов памяти в мнемонические
коды языка ассемблера. Деассемблер не делает две вещи.
Первое. Деассемблер не интерпретирует смысл программы и не обучает
пользователя. Для понимания листинга, выдаваемого деассемблером, необхо-
димо знать язык ассемблера.
Второе, что не под силу программе деассемблера - это установка так
называемой абсолютной синхронизации. Известно, что команды машинного
языка для микропроцессора INTEL 8086/8088 имеют переменную длину - от
одного до шести байтов. После того как деассемблеру сообщена конкретная
позиция памяти он приступает к процедуре прямого декодирования, не отли-
чая кодов команд от данных. Достаточно ошибиться в выборе исходной пози-
ции памяти (например, попасть не на границу между командами или в об-
ласть данных) и результат окажется неверным. Если начальная точка набора
команд известна, то никаких проблем не возникает.
Таблица 1.1- Перечень команд программы-отладчика DEBUG
Наименование
команды
Назначение Формат
1 2 3
Assemble Ввод исполнительной программы
на языке ассемблера
A [адрес]
Compare Сравнение кодов по указанным ад-
ресам
C <диапазон><адрес>
Dump Отображение содержимого ячеек
указанного участка памяти
D [диапазон]
Enter Ввод программы пользователя на
машинном языке
E <адрес> [список]
Fill Размещение в памяти указанного
списка байт
F <диапазон>< список>
Go Пуск программы с указанного ад-
реса или по умолчанию с текущего
G [=адрес] [адреса]
Hex Арифметические действия с шест-
надцатеричными числами
H <значение1>
<значение2>
Input Вывод в порт I <порт>
Load Загрузка в память данных или фай-
ла по указанному адресу с диска
L [адрес] [диск] [пер-
вый_сектор] [число]
Move Перемещение указанного диапазо-
на участка памяти по адресу
M <диапазон><адрес>
вывода помещается шестнадцатеричная информация, а в правую - информа-
ция в коде ASCII. Вторая особенность заключается в том, что кодовая комби-
нация, не имеющая символьного представления в коде ASCII, изображается в
правой части поля вывода с помощью точки.
       Команда "U" программы DEBUG - означает "деассемблирование" -
осуществляет преобразование произвольных кодов памяти в мнемонические
коды языка ассемблера. Деассемблер не делает две вещи.
       Первое. Деассемблер не интерпретирует смысл программы и не обучает
пользователя. Для понимания листинга, выдаваемого деассемблером, необхо-
димо знать язык ассемблера.
       Второе, что не под силу программе деассемблера - это установка так
называемой абсолютной синхронизации. Известно, что команды машинного
языка для микропроцессора INTEL 8086/8088 имеют переменную длину - от
одного до шести байтов. После того как деассемблеру сообщена конкретная
позиция памяти он приступает к процедуре прямого декодирования, не отли-
чая кодов команд от данных. Достаточно ошибиться в выборе исходной пози-
ции памяти (например, попасть не на границу между командами или в об-
ласть данных) и результат окажется неверным. Если начальная точка набора
команд известна, то никаких проблем не возникает.

        Таблица 1.1- Перечень команд программы-отладчика DEBUG

Наименование               Назначение                       Формат
   команды
      1                          2                              3
Assemble        Ввод исполнительной программы       A [адрес]
                на языке ассемблера
Compare         Сравнение кодов по указанным ад-    C <диапазон><адрес>
                ресам
Dump            Отображение содержимого ячеек       D [диапазон]
                указанного участка памяти
Enter           Ввод программы пользователя на      E <адрес> [список]
                машинном языке
Fill            Размещение в памяти указанного      F <диапазон>< список>
                списка байт
Go              Пуск программы с указанного ад-     G [=адрес] [адреса]
                реса или по умолчанию с текущего
Hex             Арифметические действия с шест-     H <значение1>
                надцатеричными числами                         <значение2>
Input           Вывод в порт                        I <порт>
Load            Загрузка в память данных или фай-   L [адрес] [диск] [пер-
                ла по указанному адресу с диска     вый_сектор] [число]
Move            Перемещение указанного диапазо-     M <диапазон><адрес>
                на участка памяти по адресу

18