E. Покомандное выполнение as7.Exe в отладчике
Подготовительный этап
На D: своей ЭВМ скопировать каталог …\ЗИ-10\21.11.11_Tasm_NC. Теперь на ЭВМ имеются каталоги (проверьте) :
D:\ tasm_NC
Tasm Rassian
NC
A. Запуск Norton Commander
1. ( пуск ( выполнить cmd (enter) 2. (c:\…..\>d: (enter) 3. (d:\>cd tasm_NC (enter)
4. (d:\tasm_NC\ >cd nc (enter) 5. (d:\tasm_NC\ nc\ >nc (enter)
На экране панели Norton Commander
B. Запуск русификатора
1. Перейдите к каталогу Rassian и войдите в него. В командной строке Norton Commander имеем:
D:\Tasm_NC\ Rassian\ >
2. Введите имя r2 и нажмите enter. Теперь модифицируя или вводя текст файла Вы можете переходить с латиницы на кириллицу. Для переходов используйте только правый Shift.
C. Ввод исходного текста ассемблерной программы
1. В каталоге Tasm создайте файл as7.asm и сохраните его.
Создание нового файла в активном каталоге, сохранение файла.
(Shift + F4 ( New file ( ввод имени (ok) Ввод текста файла (F2 (ESC)
Введите в файл следующий текст без комментариев к командам.
title as7.asm
dat segment
a db 2, 8
b db 3 ; сегмент данных программы. В нем определены переменные
c db ? ; a, b, c, и stt . Говорим переменные лишь по аналогии с языками програм-
stt db 'abs $' ; мирования высокого уровня. В ассемблере нет переменных, есть
dat ends ; только поля. Поля-это последовательности байтов с двоичными кодами.
a-это поле длинной в два байта. c и b - это однобайтовые поля.
csect segment
assume cs:csect, ds:dat
vx: push ds ; обеспечение
mov ax,0 ; возврата в
push ax ; DOS
mov bx,dat ; загрузка физического адреса сегмента данных в регистр bx
mov ds,bx ; копирование адреса сегмента данных в сегментный регистр ds
mov al, a ; загрузка значения поля а в регистр al т.е. al:=a
add al, b ; сложение значений из al и b. Cумма записывается в al т.е. al:= al+b
mov c, al ; копирование значения суммы из al на поле с
retf ; возврат в DOS
csect ends
end vx
D. Создание выполняемый файл as7.exe
Диалог создания as7.exe
- Добейтесь, чтобы активная панель Norton Commander имела имя d:\tasm_NC\ tasm.
- Далее вводите в командной строке Norton Commander подчеркнутые последовательности и жмите enter:
- (d:\tasm_NC\ tasm\ > tasm as7 as7 as7 (enter) Это компиляция.
Если на поле черного окна виртуальной машины MS DOS имеются сообщения об ошибках, найдите в каталоге Tasm файл as7.lst и выведите его текст посредством нажатия на клавиши F4 или F3 на экран Norton Commander. В этом тексте имеется сообщение ERROR около строки, содержащей ошибку.
Проверьте, что as7.obj появился в каталоге Tasm
- (d:\tasm_NC\ tasm\>tlink as7 (enter) Это компоновка
Проверьте, что as7.exe появился в каталоге Tasm
E. Покомандное выполнение as7.exe в отладчике
- (d:\tasm_NC\ tasm\ > td as7 (enter) Это запуск отладчика
Виден ли ассемблерный текст программы в кодовой панели отладчика?
- Нажмите на клавишу F7. Обратите внимание на перемещение синей полосы и треугольного курсора с команды на команду ассемблерного текста. Была выполнена команда push ds. Запишите в строке push ds табл. 1 значения, имеющиеся в регистрах ax, bx, ds, ip, al . Таблица должна быть нарисована у Вас в тетради.
Таблица 1
Команды программы | Значения в регистрах после выполнения команд | ||||
ax | bx | ds | ip | al | |
push ds | |||||
mov ax, 0 | |||||
push ax | |||||
mov dx, dat | |||||
mov ds, bx | |||||
mov al, a | |||||
add al, b | |||||
mov c, al |
Повторите предыдущий пункт для каждой команды табл. 1.