Методические рекомендации по выполнению лабораторной работы. TASM предоставляет широкий набор средств описания и обработки данных, который можно сравнить с аналогичными средствами некоторых языков высокого уровня

TASM предоставляет широкий набор средств описания и обработки данных, который можно сравнить с аналогичными средствами некоторых языков высокого уровня. Правила описания простых типов данных являются базовыми для описания более сложных типов. Для описания простых типов данных в программе используются специальные директивы резервирования и инициализации данных, которые по сути являются указаниями транслятору на выделение определенного объема памяти.

Существуют следующие поддерживаемые TASM директивы данных:

DB (Define Byte) резервирование памяти для данных размером 1 байт;
DW (Define Word) резервирование памяти для данных размером 2 байта;
DD (Define Double word) резервирование памяти для данных размером 4 байта;
DF (Define Far word) резервирование памяти для данных размером 6 байт;
DP(Define Pointer) резервирование памяти для данных размером 6 байт;
DQ(Define Quarter word) резервирование памяти для данных размером 8 байт;
DT(Define Ten Bytes) резервирование памяти для данных размером 10 байт.
       

Директивы данных имеют следующий формат:

[Имя ] мнемоника директивы [выражение] [;комментарий].

При определении переменной без присваивания ей начального значения надо указывать в поле выражения вопросительный знак (?).Например:

А db? - неинициализированная переменная А (содержимое выделенного участка физической памяти в 1 байт изменяться не будет).

A db 10011011b - инициализированная переменная (транслятор выделяет 1 байт памяти переменной А и записывает указанное значение в память).

Порядок размещения данных в памяти напрямую связан с логикой работы микропроцессора с данными. Микропроцессоры INTEL требуют следования данных в памяти по принципу: младший байт по младшему адресу.

Отладчик Turbo Debugger (TD) представляет собой оконную среду отладки программ на уровне исходного текста на многих языках программирования и, в том числе на ассемблере. Он позволяет определить причину и место логической ошибки.

Основную часть экрана отладчика занимают одно или несколько окон. В каждый момент времени активным может быть только одно из них. Активизация любого окна производится щелчком мышью в любой видимой точке окна. Управление работой отладчика ведется с помощью системы меню. Имеется два типа таких меню:

- глобальное меню – находится в верхней части экрана и доступно постоянно, вызов клавишей F10;

- локальное меню - для каждого окна отладчика можно вызвать его собственное меню, которое учитывает осбенности этого окна, клавиши ALT-F10.

Из четырех режимов чаще всего вам придется работать в режиме пошагового выполнения программы. В этом режиме вы можете выполнить программу по командам, при этом можно наблюдать результат исполнения каждой команды. Для активизации этого режима нужно нажать клавиши F7 (процедуры также выполняются по шагам) или F8 (процедура отрабатывается как одна команда). В этом режиме полезно использовать окно CPU, которое можно вызвать через меню VIEW|CPU.

Это окно отражает состояние микропроцессора и состоит из 5 подокон:

- окна с исходной программой в дизассемблированном виде. Это та же программа, что и в окне MODULE, но уже в машинном коде. Пошаговую отладку можно производить прямо в этом окне;

- REGISTERS – окна регистров микропроцессора, отражающего текущее состояние регистров;

- окна флагов, которое отражает текущее состояние флагов микропроцессора;

- окна стека STACK, отражающего содержимое памяти, выделенной для стека;

- окна с дампом памяти DUMP, отражающего содержимое области памяти данных.

В окне отладчика под названием MODULE вы увидите исходный текст программы с курсором выполнения (в виде треугольника).

Исходный модуль должен быть оттранслирован с опцией /zi:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: