文档介绍:(MOV)格式:MOV目的,源功能:把一个字节或字从源操作数传送到目的操作数,目的操作数原有内容消失。如:movAX,1234H注意事项:立即数不能为目的操作数。CS不能是目的操作数,只能作为源操作数。目的操作数与源操作数不能同时用存储器寻址方式。(这一点适用于所有指令)不同类型的数据不能传送。立即数不能直接送段寄存器。MOV指令不影响标志位。(1)堆栈的操作 对堆栈有两种操作:入栈,出栈 ①入栈,也叫压栈,是把一个16位数据推入栈中压栈的操作顺序:SP的内容先减2,指示一个新的字单元,然后再把该压的字压入这个单元中。 例如:设AX内容为1234H,栈的数据为(SS)=2000H,(SP)=0108H,将AX内容压入堆栈。 由图可见,压栈前(SP)=0108H,压栈后(SP)=0106H,SP永远指示栈顶。②出栈出栈操作顺序同入栈顺序相反,是先将SP指示栈顶内容,弹出到指定的一个寄存器,然后SP内容加2重新确定一个栈顶地址。:格式1:PUSH源功能:PUSH是压栈指令。把栈顶指针减2,即SP(SP)-2;将源操作数送到栈顶指针所指示的栈顶单元。格式2:POP目的功能:退栈指令,把栈顶的字数据从堆栈中弹出送目的操作数。DST((SP));(SP)(SP)+2如:pushaxpopax注意事项:PUSH和POP指令只能是字操作,不能是字节操作。POP的DST不允许是CS寄存器。PUSH和POP指令不能使用立即数方式。PUSH和POP不影响标志位。:(XCHG)格式:XCHGOPR1,OPR2其中,OPR代表操作数寄存器。功能:(OPR1)<->(OPR2)如:xchgax,bx注意:两个操作数不能同时在存储器中。也不能为立即数。不允许使用段寄存器。不影响标志位。