Регистровая адресация.
Операнд содержится в определяемом командой регистре. 16-битный операнд может находиться в регистрах AX, BX, CX, DX, SI, DI, SP или BP, а 8-битный - в регистрах AH, AL, BH, BL, CH, CL, DH, DL:
Пример: mov ax, bx
Косвенно-регистровая адресация.
Эффективный адрес операнда находится в базовом регистре BX или индексном регистре (SI или DI):
Пример: mov ax, [bx]
Физический адрес определяется парой сегмент-смещение (например CS:IP – адрес следующей команды), и для каждого регистра, содержащего смещение, есть сегментный регистр, заданный по умолчанию. Некоторые сегменты разрешается принудительно переназначать, мнемоническое обозначение переназначения – «сегментный_регистр:смещение», в коде команды появляется дополнительный (первый) байт – байт замены сегмента.
Пример: mov ax, cs:[bx]
Непосредственная адресация.
Операнд длиной байт или слово является частью команды. Операнд помещается в последние байты команды, причем младший байт следует первым (находится по меньшему адресу).
Пример: mov ax, 1234h
Дата добавления: 2021-06-28; просмотров: 293;