October 18 2017 12:23:33
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Команды пересылок
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

Таблица 2.15 Команды пересылок

Синтаксис команды Операция
MOV r/m(8,16,32), r(8,16,32)
r(8,16,32), r/m(8,16,32)
r(8,16,32) ® r/m(8,16,32)
r/m(8,16,32) ® r(8,16,32)
CMOVcc r/m(8,16,32), r(8,16,32)
r(8,16,32), r/m(8,16,32)
r(8,16,32) ® г/т(8,16,32),если (сс)=1
r/m(8,16,32) ® r(8,16,32), если (сс)=1
MOV EAX(AX,AL),d(16,32)
d(16,32), EAX(AX,AL)
(d16 или d32) ® EAX(AX,AL)
EAX(AX,AL) ® (d16 или d32)
MOV r/m(8,16,32), im(8,16,32) lm(8,16,32) ® r/m(8,16,32)
MOV sreg, r/m16 r/m 16 ® sreg
sreg ® r/m16
MOV CRi, r32
r32, CRi
r32 ® Cri
CRi ® r32
MOV DRi, r32
r32, DRi
r32 ® Dri
DRi ® r32
XCHG r(8,16,32), r/m(8,16,32)
EAX(AX), r/m(16,32)
r(8,16,32) « r/m(8,16,32)
EAX(AX) « r/m(16,32)
PUSH r/m(16,32) im(16,32) SP - (2или 4) ® SP, r/m(16,32) ® (SP)
SP - (2или 4) ® SP, im(16,32) ® (SP)
POP r/m(16,32)
sreg
SP
(SP) ® sreg, SP+ (2или 4) ® S
PUSHA
AX, CX, DX, BX, SP, BP, SI, DI ® стек
POPA
стек ® DI,SI,BP,SP,BX,DX,CX,AX
PUSHAD
EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI ® стек
POPAD
стек ® EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX
IN EAX(AX,AL), im8
EAX(AX,AL),DX
port(im8) ® EAX(AX,AL)
port(DX) ® EAX(AX,AL)
OUT im8, EAX(AX,AL)
DX, EAX(AX,AL)
EAX(AX,AL) ® port(im8)
EAX(AX,AL) ® port(DX)
MOVSX r( 16,32), r/m8
r32, r/m16
r/m8 ® r(16,32), расширение знаком
r/m16 ® r32, расширение знаком
MOVZX r(16,32),r/m8 r32, r/m16 r/m8 ® r(16,32), расширение нулями
r/m16 ® г32,   расширение нулями
BSWAP r32 r(7-0) ® r(31-24), r(15-8) ® r(23-16),
r(23-16) ® r(15-8), r(31-24) ® r(7-0)
XLATB XLAT
m8
(EBX + AL) ® AL
LEA r(16,32), m(16,32) EA ® r(16,32)
LDS r16, m16:16 r32, m16:32 m16 ® DS, m16 ® r16
m16 ® DS, m32 ® r32
LES Мб, m16:16
r32, m16:32
m16 ® ES, m16 ® r16
m16 ® ES, m32 ® r32
LFS r16, m16:16
r32, m16:32
m16 ® FS, m16 ® r16
m16 ® FS, m32 ® r32
LGS r16, m16:16
r32, m16:32
m16 ® GS, m16 ® r16
m16 ® GS, m32 ® r32
LSS r16, m16:16
r32, m16:32
m16 ® SS m16 ® r16
m16 ® SS m32 ® r32

При выполнении команд ввода-вывода IN, OUT производится пересылка данных между аккумулятором ЕАХ (АХ или AL) и адресуемым портом. Адрес порта может задаваться непосредственно операндом im8 (фиксированный порт) или содержимым регистра DX (изменяемый порт). При работе процессора с 8-разрядными портами возможно обращение к 256 портам, адреса которых фиксированы в программе, или к 65536 портам, адреса которых могут изменяться путем перезагрузки содержимого регистра DX. При работе с 16-разрядными портами число адресуемых портов уменьшается вдвое, а их нумерация (адресация) должна производиться четными числами: 0, 2, 4...254 -для фиксированных портов; 0,2,4...65532,65534-для изменяемых портов. Соответственно для 32-разрядных портов их число сокращается еще вдвое, а нумерация производится числами, кратными четырем: 0,4, 8,...248,252,...65528,655332. Таким образом, номера портов должны быть выровнены по границам передаваемых данных согласно их разрядности: 1,2 или 4 байта. В этом случае пересылка осуществляется за один цикл. Если заданный в команде номер 16- или 32-разрядного порта имеет невыровненное значение, например 03h, то для передачи данных требуется дополнительный цикл. Отметим, что номера портов от 00F8h до 00FFh зарезервированы фирмой «Intel» для внутреннего использования. Во избежание возможных сбоев в работе системы применение этих номеров программистами должно быть исключено.

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.02 секунд 2,255,305 уникальных посетителей