Директива ASSUME

ASSUME <пара> {, <пара>}

 

где <пара> - это <сегментный регистр>:<имя сегмента>

 

Пример:

 

ASSUME ES: A, DS: B, CS: C

 

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

 

Пусть требуется регистр 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

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

 








Дата добавления: 2015-10-09; просмотров: 705;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.