Реферат: Программная модель процессоров семейства X86
mov cs,ax pop cs
xchg <операнд1>,<операнд2> ; двунаправленный обмен данными а:=в; в:=с; с:=а
xchgdl,dh; меняет местами данные
Команды ввода-вывода в порт
in аккумулятор,номер_порта — ввод в аккумулятор из порта
out порт,аккумулятор — вывод содержимого аккумулятора в порт
Команды работы с адресами и указателями памяти
lea назначение,источник — загрузка эффективного адреса источника в регистр-назначение;
lea dx, x ; аналогично команде movdx,offsetx
lds назначение,источник — загрузка эффективного адреса источника в регистр назначения и загрузка указателя (адрес сегмента где содержится источник) в регистр сегмента данных ds;
les назначение,источник —-//-регистр дополнительного сегмента данных es;
lgs назначение,источник — -//- регистр дополнительного сегмента данных gs;
lfs назначение,источник — -//- регистр дополнительного сегмента данных fs;
lss назначение,источник — -//- регистр сегмента стека ss.
les dx,per1 ;полный указатель на per1 в пару es:dx
Команды работы со стеком
Для работы со стеком предназначены три регистра:
ss — сегментный регистр стека;
sp/esp — регистр указателя стека;
bp/ebp — регистр указателя базы кадра стека.
push источник — запись значения источник в вершину стека.
Алгоритм работы:
· уменьшить значение указателя стека esp/sp на 4/2 (в зависимости от значения атрибута размера адреса — use16 или use32);
· записать источник в вершину стека (адресуемую парой ss:esp/sp).
Размер записываемых значений — слово или двойное слово. Также в стек можно записывать непосредственные значения. В стек можно класть значение сегментного регистра cs. Другой интересный момент связан с регистром sp. Команда push esp/sp записывает в стек значение esp/sp по состоянию до выдачи этой команды
Команда push используется совместно с командой pop для записи значений в стек и извлечения их из стека
pop назначение — запись значения из вершины стека по месту, указанному операндом назначение. Значение при этом “снимается” с вершины стека.
Pushax
Pushbx