E. Покомандное выполнение as7.Exe в отладчике

Подготовительный этап

На D: своей ЭВМ скопировать каталог …\ЗИ-10\21.11.11_Tasm_NC. Теперь на ЭВМ имеются каталоги (проверьте) :

E. Покомандное выполнение as7.Exe в отладчике - student2.ru E. Покомандное выполнение as7.Exe в отладчике - student2.ru D:\ tasm_NC

E. Покомандное выполнение as7.Exe в отладчике - student2.ru Tasm Rassian

NC

A. Запуск Norton Commander

E. Покомандное выполнение as7.Exe в отладчике - student2.ru 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

E. Покомандное выполнение as7.Exe в отладчике - student2.ru 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.

Наши рекомендации