GNU ARM汇编中的.word

本文探讨了GNU ARM汇编中的关键字.word的使用,它用于在代码中插入特定数值,对于理解和编写ARM汇编程序至关重要。
摘要由CSDN通过智能技术生成

GNU ARM汇编中的.word

汇编中的标号通常情况下是用来标明程序
word expression就是在当前位置放一个word型的值,这个值就是expression 

南方有嘉木,谁与望天堂

段的起始地址的,如

_start:
    reset
ldr      pc, _undefined_instruction
ldr      pc, _software_interrupt
ldr      pc, _prefetch_abort
ldr      pc, _data_abort
ldr      pc, _not_used
ldr      pc, _irq
ldr      pc, _fiq

_start就是该程序段的起始地址,即第一条指令“b      reset”的内存地址,其对应内存单元中存放的是该指令的机器码,加标号多是用来实现程序的跳转。
而对于下面的标号,其作用就不是这样了:

_armboot_start:
.word _start

这里的_armboot_start也是一个标号,其值也是内存地址,但不是指令的地址,其对应内存单元中不再是指令的机器码,而是一个字(word),这个字是 _start的值,也即指令“b      reset”的内存地址。这类似于C语言中的函数指针,其值是函数的入口地址,也不过是开辟一个字的内存,存放着第一条语句的内存地址。

.word表示的就是在_armboot_start地址的内存单元中用一个字的空间存放_start,这里的_armboot_start和_start都是内存地址。大多情况下,标号对应的内存单元中存放的是第一条指令的机器码,对于ARM指令来说,也是一个机器字的长度(32位)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值