社区
VxWorks
帖子详情
arm 汇编中 +.-的意思??
googlex
2007-01-22 04:43:25
add r2, pc,#-(8+.-CInitData) ; @ where to read values (relative)
...全文
529
1
打赏
收藏
arm 汇编中 +.-的意思??
add r2, pc,#-(8+.-CInitData) ; @ where to read values (relative)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhenbe
2007-02-09
打赏
举报
回复
. 代表是当前pc值,CInitData是下面几行的dcd出来的
这行意思是,将r2指针指到 dcd 那个区域中。
他是以相对的差值来计算的,假设当前指针和CInitData的差值是X
CInitData的指针是C, C = .+X ,但是这样无法直接赋值(不信,你mov r0, #CInitData试试,编译可以通过,但执行不通过),只能采用和pc相对值来换算,
但因为arm有预取址(三级流水线),pc与当前指针的值差为8( . = PC-8 )
所以 CInitData = . + (CInitData-.)
= pc-8 +CInitData-.
= pc - (8-CInitData+.)
由此看出r2指向的就是CInitData的位置。
ARM
体系结构与
汇编
指令-1.2.
ARM
裸机第二部分视频课程
本期课程让大家进一步学到
ARM
的关键知识:启动方式、内存映射、指令集、寄存器接口等。目标是为下阶段开始使用开发板,自己写
ARM
裸机程序打好基础。
ARM
接口技术:
汇编
语言实现1~100的累加,1+2+3+4+...+99+100=?还有
汇编
语言程序的编译和运行步骤
ARM
接口技术:
汇编
语言实现1~100的累加,1+2+3+4+...+99+100=?还有
汇编
语言程序的编译和运行步骤
ARM
汇编
语言从1+2+......+100
Thumb
汇编
指令实验的参考程序代码清单 ;文件名:test.s ;功能:计算1+2+3+…+N 的值 N EQU 50 定义N的值为50 AREA testcode,CODE,READONLY 区域名为testcode,代码,只读 ENTRY
用
汇编
语言实现从1加到100(1+2+...+100)
用
汇编
语言实现1+2+...+100 ;课堂作业 ;计算1+2+...+100 DATA SEGMENT COUNT DW 0 ;计数 DATA ENDS STACK SEGMENT PARA STACK BUF DW 20H DUP (0) LEN EQU $-BUF STACK ENDS CODESEG SEGMENT ASSUME ...
ARM
汇编
.global .extern 和.text
在
ARM
汇编
中
,常搞不清.global和.extern的区别,下面就简要阐述一下这两个的区别。 1>.global .global关键字用来让一个符号对链接器可见,可以供其他链接对象模块使用。 .global _start 让_start符号成为可见的标示符,这样链接器就知道跳转到程序
中
的什么地方并开始执行。linux寻找这个 _start标签作为程序的默认进入点。 在
汇编
和C混合编程
中
,在...
VxWorks
2,179
社区成员
2,916
社区内容
发帖
与我相关
我的任务
VxWorks
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
复制链接
扫一扫
分享
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章