13271088 邢凤 debug(2)

2019-02-15 12:51

MOV AX,1111

说明:

(1)立即数只能作为源操作数,而其他三种既可作源操作数又可作目的操作数; 如:MOV 45,AL 错 A

(2)存储器和存储器之间以及段寄存器和段寄存器之间不允许传数,而通用寄存器之间则允许相互传数。 如:MOV DS,ES 错

(3)立即数不能直接传送到段寄存器。

如:MOV DS,1000 错

可改正为: MOV AX,1000 MOV DS,AX

(4)源操作数和目标操作数类型要匹配。 如:MOV AX,BL 错

(5)段寄存器CS只能作源操作数,不能作为目标操作数。 如:MOV CS,1000 错

2、数据交换指令(XCHG) 指令格式:XCHG OP1, OP2 reg, reg mem,reg

reg, mem 功能:用于交换两个操作数。 例如: XCHG AX,BX

XCHG [DI],CL ;数据A段(DS)*10H+(DI)中的数与CL交换。

说明:

(1)源操作数和目标操作数寻址可以是通用寄存器和存储器,不能是立即数。

如:XCHG AX,1000 错

(2)存储器之间不能直接进行数据交换

如:XCHG [2000],[1000] 错

3、堆栈操作指令(PUSH/POP)

指令格式:PUSH OP1 POP OP1 imm16 mem16 imm32 mem32 mem16 reg16 mem32 reg32 reg16

reg32 功能:

PUSH指令使(E)SP的内容减2或减4,然后把16位或32位的立即数、存储器操作数或寄存器操作数压入堆栈, SS:[(E)SP]指向新的栈顶。 POP指令从堆栈把字或双字弹出至16位或32位存储器或通用寄存器中,(E)SP的内容加2或加4。 例如:

PUSH AX;(SP)-2→SP,(AX)→(SP)

POP AX;((SP))→AX,(SP)+2→SP

注:堆栈为“先进后出”的数据结构。

全部通用寄存器压栈和出栈指令 指令格式及功能:

PUSHA/POPA;16位通用寄存器压栈和出栈指令。入栈顺序为:AX、CX、BX、DX、SP、BP、SI和DI。

PUSHAD/POPAD;32位通用寄存器压栈和出栈指令。入栈顺序为:EAX、ECX、EBX、EDX、 ESP、EBP、ESI和EDI。

其中:SP和ESP为操作前的栈顶指针。


13271088 邢凤 debug(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014年湖大语言学考研专业目录及参考书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: