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



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 определяется в самом начале программы так:

Арифметические команды и флаги

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

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

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


назад далее