这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 一头雾水

共7条 1/1 1 跳转至

一头雾水

菜鸟
2004-11-02 23:36:11     打赏

我刚刚接触ARM,手上的芯片是44b0,基本上一头雾水。特别是一些用汇编指令写的初始化部分,就是44binit.s,汇编指令里搞了很多的符号比如最简单的:

ldr r0,=0x……

中的“=”是表示什么?是立即数?那“#”又是什么呢?还有像

LDR r1, =|Image$$ZI$$Limit|

中的“|”是表示什么?有没有什么说明文档或者是什么书可以比较系统地这些用法说明一下。谢谢。




关键词: 一头     雾水    

菜鸟
2004-11-03 23:53:00     打赏
2楼
没人回答?自己顶一下,还有一个问题就是跳转指令B中常常有用“.”作destination的是什么意思?跳到什么地方去了?

菜鸟
2004-11-04 00:50:00     打赏
3楼

ldr r0,=0x…… :这里LDR是伪指令

ldr r0,#0x…… :这里LDR是ARM指令

|Image$$ZI$$Limit| 是链接器内嵌的变量

所有你问的问题,都能在ADS的文档里找到答案,推荐:ADS ASSEMBLER GUIDE, ADS LINKER GUIDE


菜鸟
2004-11-04 05:38:00     打赏
4楼

谢谢,我看看。那个点的问题我知道了,原来是原地。


菜鸟
2004-11-04 18:58:00     打赏
5楼

又有一个问题了,ADS Assembler Guide上的一个例子,4-79页上

start MOV r0,#10

ADR r4,start ;=> SUB r4,pc,0xc

问题是:这个0xc的偏移是如何得到的?不是只有一条指令吗,怎么差了12?


菜鸟
2004-11-04 22:19:00     打赏
6楼
我知道了,怪我没看仔细,同一页上有一段NOTE,讲program related的表达式指向two words after the address of current instruction。那就对了1(指令)+ 2 (words after)= 3。4*3 = 0xc。不知道我理解得对不对。

菜鸟
2004-11-05 17:43:00     打赏
7楼
说什么呢?能表述完整点吗?让我也了解点!?[em06]

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]