Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ассемблер.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
47.44 Кб
Скачать

Макросредства

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)