-
Notifications
You must be signed in to change notification settings - Fork 1
[ЭКЗАМЕН 15] Директива ASSUME.
ASSUME регистр : имя сегмента
- Не является командой
- Нужна для контроля компилятором правильности обращения к переменным
Data1 SEGMENT WORD 'DATA'
Var1 DW 0
Data1 ENDS
Data2 SEGMENT WORD 'DATA'
Var2 DW 0
Data2 ENDS
Code SEGMENT WORD 'CODE'
ASSUME CS:Code
ProgramStart:
mov ax,Data1
mov ds,ax
ASSUME DS:Data1
mov ax,Data2
mov es,ax
ASSUME ES:Data2
mov ax,[Var2]
.
.
.
Code ENDS
END ProgramStart
Если не написать ASSUME, то при работе с переменнеыми придется явно указывать селектор сегмента.
Следующий вопрос: Директива END. Точка входа.
Предыдущий вопрос: Директива SEGMENT.
Меня всегда можно найти в Telegram: @mrrvz
-
Выполнение программы. Машинный код. Исполняемые файлы. Язык ассемблера.
-
Виды переходов. Условные, безусловные переходы. Короткий, ближний, дальний переход.
-
Стек. Регистры, связанные со стеком. Команды записи/извлечения из стека.
-
Стек. Использование при вызове подпрограмм. Команды вызоваподпрограммы и возврата.
-
Прерывания. Назначение, виды прерываний. Таблица векторов прерываний.
-
Срабатывание прерывания. Обработчик прерывания в реальном режиме. Возврат из обработчика прерывания.
-
Модели памяти в защищённом режиме. Регистры управления памятью. Страничное преобразование.
-
Математический сопроцессор. Типы данных. Представление вещественных чисел.