汇编语言寻址方式(Linux)

本文详细介绍了Linux汇编语言中的寻址方式,包括直接寻址、立即数寻址、间接寻址、基址寻址、索引寻址和寄存器寻址,并通过实例解析了每种寻址方式的计算过程和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

地址引用通用格式

地址或偏移(%基地址寄存器,%索引寄存器,比例因子)
计算结果=地址或偏移 + %基地址或偏移量寄存器 + 比例因子 * %索引寄存器

其中所有字段都是可选的。具体如何省略的,会在后面说明。注意,蓝色代表使用,绿色代表保被省略的部分。

直接寻址方式:

movl 0x1234, %eax
通式分解:地址或偏移(%基地址寄存器,%索引寄存器,比例因子)
直接将0x12345(16进制地址)中保存的值存到寄存器eax中(单位字节,因为没有设置比例因子)

立即数寻址

movl $0x1234, %eax
通式分解:地址或偏移(%基地址寄存器,%索引寄存器,比例因子)
在这里特意用了一个跟直接寻址很类似的格式表述。目的是为了区分立即数寻址和直接寻址。其实两条命令很像,在立即数寻址中,会在数字前多加一个$美元符号。这条命令执行的是将0x1234这个数字存到寄存器eax中去,单位是两个字节

间接寻址

movl (%eax), %ebx
通式分解:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值