Тема: Разработка программы на языке Ассемблера. Цель работы: изучить структуру оператора языка Ассемблера; разработать простейшую программу на языке Ассемблера. Приборы и оборудование: персональный компьютер, прикладная программа QC. Порядок выполнения работы. 1. Записать формат операнда. Привести пример. Охарактеризовать поля операндов. 2. Изучить команды пересылки, сложения, вычитания, инкремента, декремента. Записать общий вид команд. Дать комментарии. 3. В соответствии с правилами составления программы написать программу на языке Ассемблера. 4. Используя возможности программы QC провести проверку правильности выполнения операндов и составить таблицу результатов программы. 5. Сделать вывод. Оператор языка Ассемблера содержит четыре поля: 1. поле метки 2. поле операции 3. поле операндов 4. поле комментарий В каждом операторе необходимо лишь поле операции, а остальные поля могут отсутствовать. Пример: метка операция операнды комментарий М1: MOV АХ, ВХ ; пересылка MOV приемник, источник MOV - пересылка операнда в системные регистры (или из системных регистров). Действие: содержимое операнда источник копируется в операнд приемник. MOV АХ, СХ ; пересылка содержимого регистра СХ в регистр АХ. ADD приемник, источник ADD – сложение двух целочисленных двоичных операндов. Действие: приемник = приемник + источник. ADD AX, BX ; (АХ)=(АХ)+(ВХ). SUB операнд1, операнд2 SUB – вычитание. Действие: команда выполняет целочисленное вычитание: операнд1 = операнд2 – операнд1. Команда SUB не различает знаков операндов. Вместо этого она соответствующим образом устанавливает флаги. SUB АХ, ВХ ; (АХ)=(ВХ)-(АХ). INC операнд INC – увеличение операнда размером байт, слово, двойное слово на 1. Команда не воздействует на флаг CF. INC СХ ; (СХ)=(СХ)+1. DEC операнд DEC – уменьшение значения операнда на единицу. |
||||||||||||||
Изм |
Лист |
№ докум. |
Подпись |
Дата |
||||||||||
Разраб. |
Рыженко |
Лабораторная работа №6 |
Лит. |
Лист |
Листов |
|||||||||
Пров. |
Лизунова |
У |
1 |
2 |
||||||||||
ГГМТ ТОС-31 |
||||||||||||||
Н.контр. |
||||||||||||||
Утв. |
||||||||||||||
STACK SEGMENT PARA 'STACK' STACK ENDS DATA SEGMENT PARA 'DATA' DATA ENDS CODE SEGMENT PARA 'CODE' BEGIN PROC FAR ASSUME SS: STACK, DS:DATA, CS:CODE PUSH DS SUB AX,AX PUSH AX MOV AX, DATA MOV DS, AX MOV AX,01H MOV BX,02H MOV CX,03H MOV DX,04H INC AX DEC CX ADD AX,CX ADD DX,BX SUB AX,DX RET BEGIN ENDP CODE ENDS END BEGIN |
||||||||||||||
Лист |
||||||||||||||
2 |
||||||||||||||
Изм |
Лист |
№ докум. |
Подпись |
Дата |
||||||||||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.