Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пример оформления программы⇐ ПредыдущаяСтр 13 из 13
TITLE primer PAGE 25,80;25 строк по 80 символов. stack_segment SEGMENT PARA STACK;Такое определение помогает локализовать DB 3 DUP ('This is stack...');стек при использовании отладчика. stack_segment ENDS;Конец сегмента.
data_segment SEGMENT PARA;Определение сегмнта данных name1 DB 'Hello,Dos!',13,10,'$';после текста стоят кды ПС, ВК т. к. ;функция 9h прерывания 21h вывода строки символов на экран автоматически не;выполняет эти команды. Признак конца строки для этой функции - $. data_segment ENDS;Конец сегмента
code_seg SEGMENT PARA;Сегмент кода
main PROC FAR;Главная программа. ASSUME cs:code_seg, ds:data_segment;Определяем сегментные регистры. PUSH ds;Для возврата в DOS в стеке нужно сохранить SUB ax,ax;регистр DS и следующее значение в стеке PUSH ax;должно быть нулевым. MOV dx,data_segment;Записываем в DS адрес сегмента данных. Нет MOV ds,dx; команд записи непосредственных данных в;сегментные регистры - по этому использовано две команды MOV. CALL pr_str;Вызов подпрограммы. RET;Выход из главной процедуры. main ENDP;Конец процедуры.
pr_str PROC;Подпрограмма использует функцию 9 ;прерывания 21 DOS выводящая строку символов не экран. LEA dx,name2;Начальный адрес строки в регистр DX. MOV ah,9h;Номер функции. INT 21h;Вызов прерывания. RET;Возврат в главную программу. pr_str ENDP;Конец процедуры. code_seg ENDS;Конец сегмента кода. END main
Программа сначала вводится в машину при помощи любого редактора, затем выполняется ее ассемблирование программой TASM, компоновка программой TLINK, и запуск на решение. Ассемблирование - это трансляция исходного текста в машинный код и создание OBJ-модуля. Он еще не готов к выполнению. Компоновщик преобразует объектный код в исполняемый (EXE) модуль. При этом окончательно определяются все адреса, объединяет, при необходимости, несколько отдельно ассемблированных модулей в одну загрузочную программу, создает префикс программного сегмента. Форматы команд: TASM [опции] [имя исходного файла] [имя файла листинга] Практически достаточно TASM /l имя.asm - транслировать и создать листинг. TLINK [имя объектного файла] [имя исполняемого файла] [имя файла с картой памяти] [имя файла библиотеки] Аналогично TLINK имя.obj
|