标号
来源:互联网 发布:bp网络和神经网络区别 编辑:程序博客网 时间:2024/05/01 01:18
汇编中的标号通常情况下是用来标明程序段的起始地址的,如
_start:
b 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位)。
《http://hi.baidu.com/%F2%DF%F2%D1%B7%C9%B9%FD%BC%D0%D6%F1%CC%D2/blog/item/989e663e26f99dc87d1e71eb.html》
- 标号
- 标号
- 标号
- 标号
- 标号算法
- 标号 变量
- 标号元素
- 完美标号
- 英文标号集锦
- java:标号label
- 14.3.1 _start标号
- 14.3.2 reset标号
- 14.3.3 cpu_init_crit标号
- 14.3.4 lowlevel_init标号
- 14.3.5 relocate标号
- 内存条标号的含义
- MASM中的@@标号
- ARM汇编中的标号
- 完整显示当前时间
- iframe 自适应高度 ,绝对好用。兼容IE和FOX
- log4j中配置日志文件相对路径方法
- 通过窗口句柄获取窗口图标的几种办法
- java学习(1)——旺旺老师
- 标号
- SMTP命令
- 正则表达式匹配正确也报错?
- Sqlserver数据库用户访问属性(单用户模式)
- 从Web页面把SQL导出Excel,如何既保存在服务器端,又能自动导出到客户端。
- codeblocks 及VS2008开发OpenGL程序时,环境配置
- Uva 10300 Ecological Premium
- Uva 458 - The Decoder
- ubuntu10.04安装JDK5