Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Пример оформления программы





 

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

Date: 2015-09-02; view: 307; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию