常用汇编数据传输指令
2017-03-11 17:24
375 查看
数据传输指令:它们在存储器和寄存器、寄存器和输入输出端口之间传送数据。
1,通用数据传送指令
mov传送字或字节
movsx先符号扩展,在传送
movzx 先0扩展,再传送
push把字压入堆栈
pop把字弹出堆栈
pusha 把ax,cx,dx,bx,sp,bp,si,di依次压入堆栈
popa把di,si,bp,sp,bx,dx,cx,ax依次弹出堆栈
pushad把eax,ecx,edx,ebx,esp,ebp,esi,edi依次压入堆栈
popad把edi,esi,ebp,esp,ebx,edx,ecx,eax依次弹出堆栈
bswap交换32位寄存器里面字节的顺序
xchg交换字或字节(至少有一个操作数为寄存器,段寄存器不可作为操作数)
cmpxchg比较并交换操作数(第二个操作数必须为累加器al/ax/eax)
xadd先交换在累加(结果在第一个操作数理)
xlat字节查表转换——bx指向一张256字节的表的起点,
al为表的索引值(0-255,即0-FFH)
返回al为查表结果([bx +al]->al)
2,输入输出端口传送指令
inI/O端口输入(语法:in 累加器; {端口号 | dx})
out I/O端口输出(语法:out {端口号 | dx}; 累加器)
输入输出端口
由立即方式指定时,其范围是0-255;
由寄存器dx指定时,其范围是0-65535
3,目的地址传送指令
lea装入有效地址
例:lea dx, string; 把偏移地址存到dx
lds传送目标指针,把指针内容装入ds
例:lds si, string; 把段地址:偏移地址存到ds:si
les传送目标指针,把指针内容装入es
例:les di,string; 把段地址:偏移地址存到es:dl
lfs传送目标指针,把指针内容装入fs
例:lfs di,string; 把段地址:偏移地址存到fs:dl
lgs传送目标指针,把指针内容装入gs
例:lgs di,string; 把段地址:偏移地址存到gs:dl
lss传送目标指针,把指针内容装入ss
例:lss di,string; 把段地址:偏移地址存到ss:dl
4,标志传送指令
lahf标志寄存器传送,把标志装入ah
sahf标志寄存器传送,把ah内容装入标志寄存器
pushf标志入栈
popf标志出栈
pushd32位标志入栈
popd32位标志出栈
1,通用数据传送指令
mov传送字或字节
movsx先符号扩展,在传送
movzx 先0扩展,再传送
push把字压入堆栈
pop把字弹出堆栈
pusha 把ax,cx,dx,bx,sp,bp,si,di依次压入堆栈
popa把di,si,bp,sp,bx,dx,cx,ax依次弹出堆栈
pushad把eax,ecx,edx,ebx,esp,ebp,esi,edi依次压入堆栈
popad把edi,esi,ebp,esp,ebx,edx,ecx,eax依次弹出堆栈
bswap交换32位寄存器里面字节的顺序
xchg交换字或字节(至少有一个操作数为寄存器,段寄存器不可作为操作数)
cmpxchg比较并交换操作数(第二个操作数必须为累加器al/ax/eax)
xadd先交换在累加(结果在第一个操作数理)
xlat字节查表转换——bx指向一张256字节的表的起点,
al为表的索引值(0-255,即0-FFH)
返回al为查表结果([bx +al]->al)
2,输入输出端口传送指令
inI/O端口输入(语法:in 累加器; {端口号 | dx})
out I/O端口输出(语法:out {端口号 | dx}; 累加器)
输入输出端口
由立即方式指定时,其范围是0-255;
由寄存器dx指定时,其范围是0-65535
3,目的地址传送指令
lea装入有效地址
例:lea dx, string; 把偏移地址存到dx
lds传送目标指针,把指针内容装入ds
例:lds si, string; 把段地址:偏移地址存到ds:si
les传送目标指针,把指针内容装入es
例:les di,string; 把段地址:偏移地址存到es:dl
lfs传送目标指针,把指针内容装入fs
例:lfs di,string; 把段地址:偏移地址存到fs:dl
lgs传送目标指针,把指针内容装入gs
例:lgs di,string; 把段地址:偏移地址存到gs:dl
lss传送目标指针,把指针内容装入ss
例:lss di,string; 把段地址:偏移地址存到ss:dl
4,标志传送指令
lahf标志寄存器传送,把标志装入ah
sahf标志寄存器传送,把ah内容装入标志寄存器
pushf标志入栈
popf标志出栈
pushd32位标志入栈
popd32位标志出栈
相关文章推荐
- 1.2.17、ARM汇编指令集:数据传输和跳转指令详解
- 汇编语言中常用进制数据输出的程序实现
- PIC8位单片机汇编语言常用指令的识读(中)
- 常用ARM指令及汇编【一】
- 汇编速查手册数据传输指令集
- 汇编 常用指令 cmp jmp call ret
- 汇编指令速查 之一 数据传输指令
- 常用ARM汇编指令及ATPCS规则
- 汇编常用指令
- [ASM]汇编常用指令
- c实现汇编数据传送类指令(单片机存储器编址模式)
- 一 数据传输指令
- 汇编(七)——数据传送类指令二
- 汇编(五)——数据传送指令一
- 汇编语言七——常用指令(转载)
- 实训汇编语言设计——存储区数据传输
- PIC8位单片机汇编语言常用指令的识读(上)
- 8086汇编 数据传送指令
- 汇编常用指令速查
- (2011.11.06)汇编语言第03章习题(数据传送指令)