АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Mov dx,offset end_line

Читайте также:
  1. Дополнительные сведения.

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овские панели после просмотра результатов трансляции или выполнения программы так же используется комбинация этих клавиш.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)