Макросредства
INIT1 MACRO
ASSUME CS:CSDEG, DS:DSEG, SS:STACK, ES:DSEG
PUSH DS
SUB AX, AX
PUSH AX
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
ENDM
INIT2 MACRO CSNAME, DSNAME, SSNAME ; параметры
макроса
PUSH DS
SUB AX, AX
PUSH AX
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
ENDM
Дополнительные команды:
LAHF – загрузка AH
из регистра флагов
Команда копирует пять признаков
МП (знака, нулевого результата,
вспомогательного переноса, четности и
переноса) в биты регистра AH
с номерами 7, 6, 4, 2, 0 соответственно. Сами
признаки при выполнении этой команды
не меняются
SAHF – загрузка AH
в регистр флагов
PUSH – загрузка слова в стек
Уменьшает SP на
2, пересылает операнд в новую верхушку
стека. Операнды: регистр (PUSH
BX), сегм.регистр, кроме
CS(PUSH ES),
память (PUSH PARAMETERS)
POP – выборка слова из текста
PUSHF – загрузка содержимого
регистра FLAGS в стек
POPF – пересылка слова из стека
в регист FLAGS
CBW – преобразование байта в
слово
Расширяет бит знака регистра
AL в регистр AH,
переводит байтовую величину со знаком
в эквивалентное слово со знаком
CWD – преобразование слова в
двойное слово
Расширяет бит знака регистра
AX на весь регистр DX,
генерирует двойное слово, эквивалентное
числу со знаком из региcтра
AX.
CLC – сброс признака переноса
(устанавливает CF = 0)
STC – установка признака
переноса (устанавливает CF
= 1)
CLD – сброс признака направления
(устанавливает DF = 0)
STD – установка признака
направления (устанавливает DF
= 1)