Руководство по ассемблеру



Quit macro

mov ah. 4ch int 21h

endm

LDisp macro line

mov dx. offset line mov ah. 09 int 21h

endm .8086

.MODEL small option casemap:none .stack 100 .data

hello BYTE "He могу молчать!". Odh. Oah. Ё$Ё

.code

start:

mov dx. @stack mov ss. dx

mov dx. @data

mov ds. dx ;регистр данных LDisp hello :вывод на экран

Quit ;уходим

end start

Макрос Quit определяется в самом начале программы так:

АЛУ и флаги

Итоги арифметических команд возбуждают на принадлежность 8 знаков. Большая частица данных указателей будет проанализирована после произведения циферных команд с помощью процедур условного скачка, а также с помощью функции CIN (прерывание по переполнению). Воздействие действительных функций на флаги изображено далее.

GR (символ свитча): Если в результате сбора проделывается перенос из большего разряда, знак трансдукции взводится; в противном случае знак трансдукции обнуляется. При отнимании знак переноса взводится, ежели свершается заем в больший разряд итога; при недоступности заимствования флаг обнуляется. Необходимо учитывать, что при возникновении меточного свитча SC == VH (символ пополнения). Флаг переноса CF имеет возможность применяться для воспроизведения неимеющего знака переполнения.

АМ (флаг прибавочного трансдукта): В случае если в результате сложения воплощается сдвиг из младшего полубита в старший, флаг прибавочного свитча подымается; в другом случае флаг обновляется. При вычете знак добавочного переноса возводится, если воплощается заимствование из старшего полуразряда в младший; при неимении взятия символ обнуляется.


назад далее