完整版8686汇编语言指令英文全名全称
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8086各寄存器英文全称
AH&AL=AX(accumulator):累加寄存器BH&BL=BX(base):基址寄存器CH&CL=
CX(count):计数寄存器DH&DL=DX(data):数据寄存器
SP(Stack Pointer):堆栈指针寄存器BP(Base Pointer):基址指针寄存器SI (Source Index):源变址寄存器
DI(Destination Index):目的变址寄存器IP(Instruction Pointer):指令指针寄存器CS(Code Segment)代码段寄存器DS(Data Segment):数据段寄存器SS (Stack Segment):堆栈段寄存器ES(Extra Segment):附加段寄存器
OF overflow flag溢出标志操作数超出机器能表示的范围表示溢出,溢出时为1.
SF sign Flag符号标志记录运算结果的符号,结果负时为1.ZF zero flag零标志运算结果等于0时为1,否则为0.
CF carry flag进位标志最高有效位产生进位时为1,否则为0.
AF auxiliary carry flag辅助进位标志运算时,第3位向第4位产生进位时为1,否则为0.
PF parity flag奇偶标志运算结果操作数位为1的个数为偶数个时为1,否则为
0.
DF direcion flag方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.IF interrupt flag中断标志IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.TF trap flag陷阱标志用于调试单步操作
___________________________________
汇编指令英文全称
1.通用数据传送指令
MOV---->move
MOV dest,src;dest←src
MOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。
MOVSX---->extended move with sign data
MOVZX---->extended move with zero data
PUSH---->push
POP---->pop
进栈出栈指令
PUSHA---->push all
POPA---->pop all
PUSHAD---->push all data
POPAD---->pop all data
BSWAP---->byte swap
XCHG---->exchange
交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。mov ax,1234h;ax=1234h
mov bx,5678h;bx=5678h
xchg ax,bx;ax=5678h,bx=1234h
xchg ah,al;ax=7856h
CMPXCHG---->compare and change
XADD---->exchange and add
XLAT---->translate
换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL。2.输入输出端口传送指令
IN---->input
OUT---->output
3.目的地址传送指令
LEA---->load effective addres
有效地址传送指令
mov bx,0400h
mov si,3ch
lea bx,[bx+si+0f62h];BX=139EH
这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。LDS---->load DS
LES---->load ES
LFS---->load FS
LGS---->load GS
LSS---->load SS
4.标志传送指令
LAHF---->load AH from flag
SAHF---->save AH to flag
PUSHF---->push flag
POPF---->pop flag
PUSHD---->push dflag
POPD---->pop dflag
二、算术运算指令
ADD---->add
加法指令mov al,0fbh;al=0fbh
add al,07h;al=02h
ADC---->add with carry
INC---->increase1
AAA---->ascii add with adjust
DAA---->decimal add with adjust
SUB---->substract
SBB---->substract with borrow
DEC---->decrease1
NEC---->negative
CMP---->compare
AAS---->ascii adjust on substract
DAS---->decimal adjust on substract
MUL---->multiplication
IMUL---->integer multiplication
AAM---->ascii adjust on multiplication
DIV---->divide
IDIV---->integer divide
AAD---->ascii adjust on divide
CBW---->change byte to word
CWD---->change word to double word
CWDE---->change word to double word with sign to EAX CDQ---->change double word to quadrate word
三、逻辑运算指令
AND---->and
or---->or
XOR---->xor
NOT---->not
TEST---->test
SHL---->shift left
SAL---->arithmatic shift left
SHR---->shift right
SAR---->arithmatic shift right
ROL---->rotate left
ROR---->rotate right
RCL---->rotate left with carry
RCR---->rotate right with carry
四、串指令
MOVS---->move string
CMPS---->compare string
SCAS---->scan string
LODS---->load string
STOS---->store string
REP---->repeat
REPE---->repeat when equal
REPZ---->repeat when zero flag
REPNE---->repeat when not equal
REPNZ---->repeat when zero flag
REPC---->repeat when carry flag
REPNC---->repeat when not carry flag
五、程序转移指令
1>无条件转移指令(长转移)
JMP---->jump