Начальная загрузка сегментных регистров

Пусть требуется регистр DS установить на начало сегмента В.

MOV AX, B

MOV DS, AX

Аналогично загружается регистр ЕS.

Регистр CS загружать не надо.

Регистр SS, который должен указывать на начало стека, можно загрузить двумя способами: в самой программе (также как регистры DS и ЕS), либо загрузку поручить операционной системе. Для этого в директиве SEGMENT, открывающей описание сегмента стека, указывают специальный параметр SТACK.

Структура программы

STACK SEGMENT STACK; сегмент стека

DB 128 DUP (?)

STACK ENDS

DATA SEGMENT; сегмент данных

<описания переменных и т.п.>

DATA ENDS

CODE SEGMENT; сегмент команд

ASSUME CS: CODE, DS: DATA, SS: STACK

START: MOV AX, DATA

MOV DS, AX; загрузка DS

<остальные команды программы>

CODE ENDS

END START; конец программы, точка входа

Побитовая обработка и ее основные виды

Логические команды

Выполняют логические операции – отрицание, конъюнкцию и дизъюнкцию.

Отрицание: NOT op

Допустимые типы операнда: r8, m8, r16, m16.

MOV AL,1100b; AL=00001100b

NOT AL; AL=11110011b

Конъюнкция (логическое умножение): AND op1,op2

В этой команде допустимы следующие комбинации операндов:

Op1 op2

r8 i8, r8, m8

m8 i8, r8

r16 i16, r16, m16

m16 i16, r16

x y x and y
     
     
     
     

MOV AL,1100b; AL=00001100b

AND AL,1010b; AL=00001000b

Проверка: TEST op1,op2

MOV BH,1100b

TEST BH,0011b; =00000000->ZF=1

TEST BH,1010b; =00001000->ZF=0

Дизъюнкция (логическое сложение): OR op1,op2

Допустимые типы операндов – как в команде AND.

x y x or y
     
     
     
     

MOV CL,1100b

OR CL,1010b; CL=00001110b

Исключающее ИЛИ (eXclusive OR): XOR op1,op2

Допустимые типы операндов – как в команде AND.

x y x хor y
     
     
     
     

MOV CL,1100b

X OR CL,1010b; CL=00000110b

XOR АХ,АХ; АХ:=0

Команды сдвига

<мнемокод> ор,1; сдвиг ор на 1 разряд

<мнемокод> ор,CL; сдвиг ор на CL разрядов

Допустимые типы операнда ор: r8, m8, r16, m16.

Логические сдвиги

Логический сдвиг влево (shift left): SHL op,1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: