Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METHOD / МКП / Lab_ASCII / ЛАБ_РАБ_ASCII.doc
Скачиваний:
41
Добавлен:
05.03.2016
Размер:
380.42 Кб
Скачать

5. Программа «debug»

Для просмотра содержимого регистров (ячеек) ОЗУ, с конкретными адресами, можно использовать программу «Debug». Для запуска этой программы необходимо ввести имя программы - debug, с командной строки программы «FAR manager» или «Пуск – Выполнить», далее «Enter», после чего на экране появиться диалоговое окно и приглашение в виде дефиса, что свидетельствует о готовности программы к приему команд.

Команда D (diplay) - просмотр ячеек памяти. Например, характеристика компьютера, «зашита» заводом изготовителем по адресу fe00:0, чтобы увидеть ее, следует ввести (латинский шрифт можно вводить большими и маленькими буквами):

d fe00:0 (и нажать «Enter»),

дата в формате mm/dd/yy, по адресу d fffff:5

Зная адрес ячейки памяти, с помощью команды D можно просмотреть ее содержимое. Можно «пролистать» память, периодически вызывая команду D.

Для окончания работы программы необходимо ввести команду Quit.

Команда Т (трассировка) – программа выдает на экран содержимое регистров процессора, флаги готовности, а также следующую команду.

Команда A (assembler) – режим работы программы с командами языка Assembler.

-a («Enter»), появиться адрес ячейки, куда можно записать команду:

0b27:010b mov al,25 («Enter»)

0b27:010a mov bx,2f («Enter»)

…………………………. («Enter»)

0b27:010a (Enter) (выход из режима ввода ассемблерных кодов)

Далее можно просмотреть содержимое регистров командой Т.

6. Инициализация портов

Подпрограмма BIOS инициализирует порт коммуникации. В регистре процессора DX должен находиться номер последовательного коммуникационного канала (0, если СОМ1 и 1 если СОМ2) - порта. В регистре AL должен содержаться байт инициализирующих данных, который определяет формат слова при передаче.

Например, фрагмент программы языка высокого уровня паскаль, инициализирующей порт СОМ 1, имеет вид.

program init_Port;1 {файл port1.pas}

USES CRT;

VAR

WD {ДЛИНА СЛОВА},

STOP {ЧИСЛО СТОП-БИТ},

PARITY {ЧЕТНОСТЬ},

BD:BYTE; {СКОРОСТЬ}

BEGIN

ASM { Вставка на языке ASSEMBLE}

MOV WD, 00000011B {8 БИТ} {команда MOV пересылает переменным}

MOV STOP, 00000100B {2 СТП-БИТ} {команда MOV пересылает переменным} MOV PARITY, 00011000B {ЧЕТ} {B – в конце, означает, что число}

MOV BD, 11100000B {9600 бод} {заданно в двоичной системе}

XOR AX,AX {очищает регистр}

OR AL,WD

OR AL,STOP

OR AL,PARITY {в регистры процессора AL пересылаются байты инициализации}

OR AL, BD

MOV AH,0

MOV DX,1 {инициализация порта СОМ 1}

int 14h {подпрограмма BIOS инициализации порта}

END;

END.

Регистры процессора можно просмотреть редактором языка PASCAL (окно Registr), выполняя программу в пошаговом режиме по F8. Рассмотреть работу операторов – XOR, OR

Соседние файлы в папке Lab_ASCII