Изучение среды программирования TURBO ASSEMBLER
и отладчика программ DEBUGger
Из программы FAR MANAGER или TOTAL COMMANDER, а можно и непосредственно из WINDOWS, требуется запустить программу ta.exe, расположенную в папке, содержащей файлы, необходимые для работы ТурбоАссемблера. Открывается окно турбосреды, аналогичное тому, какое имеют языковые среды ПАСКАЛЬ или СИ.
Вход в верхнее меню осуществляется с помощью клавиши F10.
Необходимо выполнить команду FILE – NEW, чтобы начать вводить новую программу.
После ввода небольшой тестовой программы её необходимо откомпилировать и устранить синтаксические ошибки (пункт меню COMPILE – COMPILE TO OBJ). Ниже приводится пример такой программы, складывающей два числа.
Одной из самых грубых ошибок начинающего программиста на языке Ассемблер является нежелание (или непонимание необходимости) правильно писать вход и выход из программы, а также соблюдать все правила её обрамления. Из-за этого, во-первых, может проявиться неправильный доступ к данным (обычно обнаруживаемый синтаксическим анализатором), а главное – сбой при завершении программы. Категорически рекомендуется как можно чаще сохранять вводимый текст, чтобы с минимальными потерями продолжать работу после «вылета» программы. Придерживайтесь приводимого ниже синтаксического образца. Первые 5 (пять) команд программы, и самую последнюю, следует писать буквально, так, как приведено в примере. Они называются прологом и эпилогом программы, и даются согласно стандартному соглашению о связях для операционной системы MS/DOS (пролог и эпилог для WINDOWS пишется совсем по-другому, но, во-первых, эти понятия есть и там, а во-вторых, научитесь сначала писать простые программы). Слова, стоящие в строках примера после символа «;» (точка с запятой), являются комментариями, и их набивать не требуется (хотя и не запрещается).
Когда программа набита, сохранена, и все синтаксические ошибки исправлены, следует перейти в отладчик DEBUG. В нём необходимо сначала открыть окно отображения регистров и флагов (пункт верхнего меню VIEW – REGISTERS), а затем оттащить его (мышкой, или с помощью CTRL-F5) в сторону, чтобы не загораживало текст программы. Второе используемое окно для отображения значений переменных (WATCHS) уже открыто, и находится внизу. В нём можно проставить имена тех данных, изменения которых требуется проследить.
Далее, нажимая клавишу F7, выполнить каждую команду программы до её логического конца.
; Самая первая программа для трассировки
;
assume cs:mycode,ds:mydate,ss:mystack
mycode segment para
start: push ds ; Эта и следующие 4 команды
xor ax,ax ; называются прологом.
push ax
mov ax,seg mydate
mov ds,ax
mov ax,x ; Операнд1 помещается в регистр AX
add ax,y ; и складывается с Операнд2.
mov z,ax ; результат пишется в переменную z.
retf ; завершение программы (эпилог).
mycode ends
mydate segment para
x dw 5
y dw 4
z dw 0
mydate ends
mystack segment para stack ‘stack’
dw 100 dup (?) ; резервируется место для стека.
mystack ends
end start
Протранслировав программу, и выполнив её покомандно в отладчике, следует выполнить повторную инициализацию программы с помощью пункта меню RUN – PROGRAM RESET, после чего обратиться к преподавателю с целью её показа.
Модифицировать программу так, чтобы она вычисляла:
a) Произведение двух чисел;
b) Частное и целочисленный остаток от деления;
c) Побитовые операции «Не», «Или», «И», «Исключающее Или»;
d) Операции сдвига;
e) Преобразования цифрового символа в двоичное число.
Дата добавления: 2017-01-16; просмотров: 1349;