您的位置:首页 > 其它

11.数据传送指令MOV、XCHG效果

2015-10-30 19:20 316 查看
80386的数据传送指令是为了实现CPU和内存、输入/输出端口之间的数据传送。

(1)MOV:称为数值传送指令,格式是“MOV DST,SRC”。

(2)MOV指令将源操作数SRC传送到目的操作数DST中。

(3)传送的数据格式可以是8字节、16字节和32字节。

 示例代码:
MOV EAX,56  //将56H立即数传送到EAX寄存器
MOV ESI,DWROD PTR [EAX*2+1] //将内存地址为EAX*2+1处的4字节数据传送到ESI寄存器。
MOV AH,BYTE PTR [ESI*2+EAX]  //将内存地址为ESI*2+EAX处的8位数据传送到AH寄存器。
MOV DWORD PTR [ESP+36],EBX  //将EBX寄存器的值以4字节传送到堆栈地址为ESP+36所指向的地方。


(4)XCHG:称为交换指令,XCHG实现寄存器间和内存间的数据交换。

格式是“XCHG DST,SRC”。XCHG指令交换SRC和DST之间的数据,
交换的数据可以是8字节、16字节和32字节,其中SRC和DST必须格式相同。

示例代码:
XCHG EAX,EDX   //将EDX寄存器的值和EAX寄存器的值交换
XCHG [ESP-55],EDI //将EDI寄存器的值和堆栈地址为[esp-55]处的值交换。
XCHG BH,BL      //将BL寄存器和BH寄存器的值交换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: