汇编指令
二、输入输出端口传送指令
IN: I/O端口输入。
OUT: I/O端口输出.
三、目的地址传送指令
LEA: 装入有效地址。例:LEA DX,string;把偏移地址存到DX。
LDS: 传送目标指针,把指针内容装入DS。例: LDS SI,string;把段地址,偏移地址到DS:SI。
LES: 传送目标指针,把指针内容装入ES。例: LES DI,string;把段地址:偏移地址存到ES:DI。
LFS: 传送目标指针, 把指针内容装入FS。例: LFS DI,string;把段地址:偏移地址存到FS:DI。
LGS: 传送目标指针,把指针内容装入GS。例: LGS DI,string;把段地址:偏移地址存到到GS:DI。
LSS: 传送目标指针,把指针内容装入SS。例: LSS DI,string; 把段地址:偏移地址存到SS:DI。
四、标志传送指令
LAHF:标志寄存器传送,把标志装入AH。
SAHF:标志寄存器传送,把AH内容装入标志寄存器。
PUSHF: 标志入栈。
POPF: 标志出栈。
PUSHD: 32位标志入栈。
POPD: 32位标志出栈。
注释:
标志寄存器又称程序状态字,这是一个16位的存放条件标志、控制标志寄存器,主要用于反映处理器的状态和ALU运算结果的某些特征及控制指令的执行。
AH:AX(16位)寄存器的高八位,低八位是AL寄存器
DS叫做段寄存器, 指向当前运行着的程序的数据段. 你可以把它指向任何你想要的地方, 只要那个地方有你想要的数据.
ES叫做额外的段寄存器. 它通常跟DI一起用来做指针使用. DS:SI和ES:DI配对时通常用来执行一些字符串操作.
SI和DI两个寄存器叫做索引寄存器, 这两个寄存器通常用来处理数组或字符串.
DS:是 Data Segment 的缩写,翻译为“数据段寄存器”;
SS:是 Stack Segment 的缩写,翻译为“堆栈段寄存器”;
ES:是 Extra Segment 的缩写,翻译为“附加段寄存器”。GS,FS:辅助段寄存器。