11.数据传送指令MOV、XCHG效果
2015-10-30 19:20
316 查看
80386的数据传送指令是为了实现CPU和内存、输入/输出端口之间的数据传送。
(1)MOV:称为数值传送指令,格式是“MOV DST,SRC”。
(2)MOV指令将源操作数SRC传送到目的操作数DST中。
(3)传送的数据格式可以是8字节、16字节和32字节。
示例代码:
(4)XCHG:称为交换指令,XCHG实现寄存器间和内存间的数据交换。
格式是“XCHG DST,SRC”。XCHG指令交换SRC和DST之间的数据,
交换的数据可以是8字节、16字节和32字节,其中SRC和DST必须格式相同。
示例代码:
(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寄存器的值交换。
相关文章推荐
- iOS多线性
- 栈的基本操作
- 使用Storyboard进行界面跳转及传值
- Flask -- 会话
- 二分图总结
- 什么是缓存 (三)
- oracle常用SQL语句
- apache配置解析php
- HDU 1025 最长递增子序列 DP+二分法
- 某大学医疗系统更改版
- 10.80386指令-Intel格式和AT&T格式的指令格式
- An Easy Problem
- python set
- 单例
- Ulua学习笔记
- A - Sumsets
- php中函数不确定参数个数时获取所有参数
- java面向抽象编程样例
- nginx和keepalive共存亡
- 【PAT】1087. All Roads Lead to Rome (30)