Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vvod_inform_s_klav_v_pamyat_i_vyvod_eyo_na_ekr.doc
Скачиваний:
23
Добавлен:
07.06.2015
Размер:
699.9 Кб
Скачать

Int 21h

mov dx,offset string_1

Int 21h

Здесь оператор offset означает, что в регистр dx загружается начальный адрес области памяти с данными end_line, а затем области памяти с данными string_1.

Отметим, что исполняемая часть программы, то есть сегмент кода, всегда должна располагаться после идентификатора .code и обязательно начинаться меткой, например, start или begin или любой другой. После метки начала программы всегда должны стоять две команды:

mov ax,@data

mov ds,ax

Эти две команды обеспечивают загрузку в сегментный регистр ds начального адреса сегмента данных. С этих двух команд всегда должен начинаться сегмент кода всех программ, использующих малую модель памяти. Это необходимо делать, так как в начале исполнения программы сегментные регистры ds и es всегда настроены на начало области памяти, называемую префиксом программного сегмента. Отметим, что непосредственно загружать операндом сегментные регистры командой mov, как и другими командами, нельзя. При необходимости для быстрой настройки регистра es на начало сегмента данных (после того, как регистр ds уже настроен) можно воспользоваться следующими командами:

push ds

pop es

Здесь команда push ds загружает содержимое регистра ds в вершину стека, а команда pop es извлекает из вершины стека два ранее записанных байта и помещает их в регистр es.

Конец программы всегда должен заканчиваться следующими инструкциями:

mov ax,4c00h

Int 21h

end start

Первые две команды обеспечивают выход работающей программы после её завершения в операционную систему DOS. Метка после команды end всегда должна совпадать с меткой, с которой начинается исполняемая часть программы. Таким образом, ассемблерная программа, выводящая на экран монитора с новой строки слово ASSEMBLER будет иметь вид:

.model small

.stack 100h

.data

end_line db ’0dh, 0ah’,’$’

string_1 db ’ASSEMBLER’,’$’

.code

begin:

mov ax,@data

mov ds,ax

mov ah,09h

mov dx,offset end_line

Int 21h

Int 21h

mov ax,4c00h

Int 21h

mov dx,offset string_1

Int 21h

end begin

Отметим, что описание структуры сегмента данных в исходном тексте программы может располагаться и в конце программы перед командой end begin.

Для запоминания на жестком диске набранной программы нажимается клавиша F2, а затем клавиша Esc, и после этого имя набранного Вами файла с расширением .asm появится в DOSовских панелях. Для повторного открытия данного файла с целью его редактирования необходимо нажать клавишу F4. После редактирования текста программы отмеченные выше действия для записи файла на диск повторяются, то есть нажимаются клавиши F2, а затем Esc.

После набора текста программы и его записи на диск необходимо выполнить трансляцию программы и её компоновку. Трансляция исходной программы осуществляется с помощью DOSовской программы tasm.exe. Для этого формируется командная строка вида:

D:\SHELLS>tasm.exe lab_1.asm

Командную строку можно сформировать следующим образом: вначале маркер (светлая полоса) устанавливается на файл tasm.exe и нажимаются клавиши Ctrl – Enter, затем маркер устанавливается на файл lab_1.asm и также нажимаются клавиши Ctrl – Enter. После формирования командной строки нажимается клавиша Enter и тогда в DOSовских панелях (на жестком диске), если нет синтаксических ошибок в исходном тексте программы, появляется объектный файл с расширением obj, то есть lab_1.obj. Этот файл необходимо скомпоновать с встроенными в операционную систему DOS вспомогательными программами, например подпрограммами, которые обслуживают различные прерывания. Компоновка программы осуществляется так же с помощью DOSовской программы tlink.exe. Для этого набирается командная строка вида:

D:\SHELLS>tlink.exe lab_1.obj

и нажимается клавиша Enter. После этого на диске появится файл с картой распределения памяти lab_1.map и готовый к исполнению бинарный файл с расширением exe, то есть lab_1.exe. Для его исполнения подводится маркер к этому файлу и нажимается клавиша Enter. Если при трансляции программы были обнаружены ошибки, то объектный файл с расширением .obj не образуется и некоторую информацию о них можно получить нажав клавиши Ctrl – o. Эти клавиши используются и для просмотра результата выполнения готовой программы. Для возврата в DOSовские панели после просмотра результатов трансляции или выполнения программы так же используется комбинация этих клавиш.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]