汇编指令对照表

本文详细介绍了汇编语言中的各种指令,包括指令后缀、寻址、数据传送、算术逻辑操作、比较和跳转指令,是理解汇编语言基础的重要参考资料。
部署运行你感兴趣的模型镜像

指令后缀

后缀大小(字节)C语言对应
b1char
w2short
l4(unsigned) int / long / char*
s4float

寻址指令

名称汇编样例含义
立即数寻址$ 11
寄存器寻址%eaxeax
绝对寻址0x104*0x104
间接寻址(%eax)*eax
(基址+偏移量)寻址4(%eax)*(4+eax)
变址寻址1(%eax, %ebx)*(eax+ebx)
变址寻址29(%eax, %ebx)*(9+eax+ebx)
伸缩化变址寻址1(, %eax, 4)*(eax*4)
伸缩化变址寻址20xfc(, %eax, 4)*(0xfc+eax*4)
伸缩化变址寻址3(%eax, %ebx, 4)*(eax+ebx*4)
伸缩化变址寻址48(%eax, %ebx, 4)*(8+eax+ebx*4)

数据传送指令

指令效果描述
movl S, DS–>D传双字
movw S, DS–>D传字
movb S, DS–>D传字节
movsbl S, D符号扩展S–>D符号位填充(字节->双字)
push S%esp-4–>%esp; S–>*(%esp)压栈
pop D*(%esp)–>D; %esp+4–>%esp弹栈

算术和逻辑操作指令

指令效果描述
lea S, D&S–>D与mov S,D的区别是lea是取S的地址,D仅能是寄存器
inc DD++加1
dec DD–减1
neg D-D–>D取负
not D~D–>D取反
add S,DS+D–>D
sub S,DS-D–>D
mul S,DS*D–>D
xor S,DS^D–>D异或
or S,DS|D–>D
and S,DS&D–>D
shl k,DD << k–>D左移
shr k,DD >> k–>D右移

比较指令

指令效果描述
cmp S1, S2S1-S2比较,差关系
test S1, S2S1&S2比较,与关系

跳转指令

指令效果描述
jmp Label跳转到 Label 处无条件跳转
je Label比较操作结果为0时跳转到Label处结果为0时条件跳转
jne Label比较操作结果不为0时跳转到Label处结果不为0时条件跳转
js Label比较操作结果为负数时跳转到Label处结果为负数时跳转
jns Label比较操作结果为非负数时跳转到Label处结果为非负数时跳转
jg Label比较操作结果为S2 > S1时跳转到Label处结果为大于时跳转(有符号)
jge Label比较操作结果为S2 ≥ S1时跳转到Label处结果为大于等于时跳转(有符号)
jl Label比较操作结果为S2 < S1时跳转到Label处结果为小于时跳转(有符号)
jle Label比较结果为S2 ≤ S1时跳转到Label处结果为小于等于时跳转(有符号)
ja Label比较操作结果为S2 > S1时跳转到Label处结果为大于时跳转(无符号)
jae Label比较操作结果为S2 ≥ S1时跳转到Label处结果为大于等于时跳转(无符号)
jb Label比较操作结果为S2 < S1时跳转到Label处结果为小于时跳转(无符号)
jbe Label比较结果为S2 ≤ S1时跳转到Label处结果为小于等于时跳转(无符号)

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值