W1 dw 0
B1 db 1
Data
Способы адресации памяти
Mov ds,60h ; ошибка (прямая загрузка запрещена)
Mov eax,-2 ;расширение 2 до 32 разрядов
Непосредственная адресация
Mov ax, bl ; ошибка (смещение типов)
Mov edx, ebx ; пересылка двойного слова
Mov di, bx ; пересылка слова
Mov ah, bh ; пересылка байта
Регистровая адресация
Способы адресации
Db 10 dup (0) ; в память будет записано десять нулей
Db 0010000B
Db 20h
Db 32
db 0ffh, 0f0h ; в памяти будет записано: FF F0
Для объявления константы используется 2 директивы:
KILO EQU 1024 ; килобайт представляет собой 1024
Константу объявленную EQU переопределять нельзя.
KILO=1024 ; можно по ходу программы переопределять константу
Часто в программе требуется найти длину массива:
mes DB ‘ЖДИТЕ’
meslen EQU $-mes ; вычисление константы
$ - возвращает адрес последнего байта, а метка mes – адрес начала массива
Регистры могут быть 8-битовые, 16-битовые или 32-битовые
Примеры:
В качестве операнда выступает константа.
Примеры:
.
В следующих примерах используем объявленный ниже сегмент данных: