汇编中.word的具体用途是什么?


原文地址:http://sdnydubing.blog.163.com/blog/static/13747057020112904958830/


_undefined_instruction: .word undefined_instruction

_undefined_instruction是一个标号,处理到这里时,asm会把undefined_instruction的值按16bit的形式放在此标号处。
ldr pc, _undefined_instruction
就是从_undefined_instruction处取值,即undefined_instruction, 并设置到pc中。

.word就是在这个地方放一个值。相当于在这里定义一个数据变量。用.word定义了一个16bit的数据。

并将underfined_instruction的值本身放在这里,因此,pc=undefined_instruction,实现跳转。
ldr 是把数据从存储器传输到寄存器上,格式如下:
ldr(条件) 目的寄存器,<存储器地址>

转帖:

ldr r1, _rWTCON
_rWTCON:
.word 0x15300000
这两个语句是不是说把地址0x1530 0000 上的内容传递到r1? 而不是把0x1530 0000 放到r1 ?
不是把地址0x1530 0000 上的内容传递到r1,是把地址_rWTCON上的内容放到r1,而地址_rWTCON上的内容是0x15300000。实际上就是把r1设置为0x15300000
------------------------------------------
.word和0x1530 0000有什么关系?.word就是把expression上的值取出来? expression代表地址?
.word expression就是在当前位置放一个word型的值,这个值就是expression
举例来说,
_rWTCON:
.word 0x15300000
就是在当前地址,即_rWTCON处放一个值0x15300000
翻译成intel的汇编语句就是:
_rWTCON dw 0x15300000没有.long/.word
汇编程序就不知道你想在这里放一个多大的数据,
相当于数据类型。

另外还应注意:在arm7,9中(其他的我不清楚)arm指令集中一个字类型就是32位。

附:


原文地址:http://ackerman.iteye.com/blog/796754


感觉一定要理解一些基本的概念,然后在看懂汇编的基础上,再分析uboot的流程。

1.关于汇编的语法

这里有两套汇编的语法:分为ARM公司的标准ARM汇编语言和GNU对ARM支持的GNU ARM汇编。ARM标准汇编语言即ARM公司的开发工具ADS里用的汇编语言;GNU汇编即在LINUX下用GCC编译的汇编。两者语法有少许差异。因此,通常我们下载的LINUX下的ARM接口代码放到ADS下是不能编译通过的,需要进行少许修改。

GNU AS语法即AT&T汇编语法,uboot用到的语法。

2.标签的含义

 

As代码   收藏代码
  1. .globl _start  
  2.   
  3. _start: b       reset  
 

标签就是在某行程序代码前作一个标记,标签代表的是这行代码的地址。

 

As代码   收藏代码
  1. .globl _armboot_start  
  2.   
  3. _armboot_start:  
  4.       
  5. .word _start  
 

.word expression就是在当前位置放一个word型的值,这个值就是expression ,此处的含义就是建立一个全局标签_armboot_start,在这个位置上放置_start的值(可以这样理解,_armboot_start是一个地址,这个地址中的内容是_start),则下面的语句会把地址_armboot_start处的内容(_start)装载到r2中。

 

As代码   收藏代码
  1. ldr r2, _armboot_start  
 

这样做的目的是因为LDR指令的格式为:LDR{条件}    Rd, <地址>。

3..word 0x0badc0de

含义:保留一个字,初始化一下。实际的值应该在运行时计算出来。(badcode吗,呵呵)。

4.关于判断是否拷贝到ram

如果是debug下,uboot直接运行在ram中,从而得到的_start值和TEXT_BASE是相等的,不需要拷贝。如果从flash启动,_start为0x0,TEXT_BASE是sdram的地址,二者是不相等的,需要拷贝。(TQ2440的SDRAM为64M,bank6,地址空间为0x30000000-0x34000000,TEXT_BASE设置为0x33D000000,即0x33D00000-0x34000000为uboot使用的空间+bss和其他的空间)。

见映射图

5.汇编中调用c函数

遵循ATPCS(ARM-THUMB procedure call standard)标准。

 


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A卷 一、单选题 在PowerPoint2010,__________操作能将方向为纵向的幻灯片改为横向。 A."开始"选项卡,格式刷 B."设计"选项卡,"页面设置"组,幻灯片放向,"纵向"改为"横向" C."插入"选项卡,"页面设置"组,幻灯片放向,"纵向"改为"横向" D."文件"选项卡,"页面设置"组,"纵向"改为"横向" 可以不用发布就能在本地计算机上浏览的页面编写语言是__________。 A.ASP B.PHP C.HTML D.JSP __________不属于典型的Windows 7窗口组成部分。 A.CPU使用率 B.菜单栏 C.状态栏 D.标题栏 下列有线传输介质传输速度最快的是________。 A.双绞线 B.网络线 C.光纤 D.电话线 ________是有关过渡动画的错误描述。 A.当帧速率达到12fps以上时,才能看到比较流畅的视频动画 B.间的过渡帧由计算机通过首尾帧的特性以及动画属性要求来计算得到 C.过滤动画是不需要建立动画过程的首尾两个关键帧的内容 D.动画效果主要依赖于人的视觉暂留特征而实现的 _________属于IP的C类地址。 A.141.0.0.0 B.3.3.3.3 C.23.34.45.56 D.197.234.111.123 目前微型计算机硬盘的存储容量一般以GB计算,1GB可以换算为_________。 A.1024KB B.1024MB C.1024K D.1024TB 在Windows 7,按键盘上的<Windows徽标>键将__________。 A.打开选定文件 B.关闭当前运行程序 C.显示"系统"属性 D.显示"开始"菜单 C++是一种________。 A.脚本语言 B.汇编语言 C.高级语言 D.机器语言 TCP/IP在互联网的作用是________。 A.定义采用哪一种操作系统 B.定义一套网间互联的通信规则或标准 C.定义采用哪一种程序语言 D.定义采用哪一种电缆互联 Word 2010模板文件的扩展名为_________。 A.doc B.dot C.docx D.dotx 超级链接是一种_______的对应关系。 A.一对一 B.多对一 C.多对多 D.一对多 使用Dreamweaver CS4时,________不能在"页面属性"对话框设置。 A.网页的边距 B.网页的背景色 C.网页文本的颜色 D.网页文件的大小 _________标准是用于视频影像和高保真声音的数据压缩标准。 A.JPG B.PEG C.MPEG D.JPEG 关于网页和网站的描述,正确的是________。 A.网页和网站是两个没有联系的概念 B.网页和网站是同一个概念 C.在网页进行网站的设置 D.网站可包含多个网页 _________是关于Windows 7概念的正确描述。 A.屏幕上可以出现多个窗口,但至多只有一个是活动窗口 B.屏幕上只能出现多个窗口,这就是活动窗口 C.屏幕上可以出现多个活动窗口 D.屏幕上可以出现多个窗口,但不止一个是活动窗口 在音频文件的格式,存储的是指令而不是声音波形本身的是__________。 A.MP3 B.CD C.MIDI D.RealAudio 现代信息技术的主体技术是_______等。 A.计算机技术、通信技术、控制技术 B.信息技术在人类生产和生活的各种具体应用 C.电子技术、微电子技术、激光技术 D.新材料和新能量 _________标记是用来标识一个HTML文件的。 A.<body></body> B.<html></html> C.<table></table> D.<p></p> CPU即央处理器,包括_______。 A.运算器和控制器 B.运算器和存储器 C.内存和外存 D.控制器和存储器 射频识别技术(RFID)是______的关键技术。 A.三网融合 B.物联网 C.云计算 D.IPv6 在Windows 7安装和设置输入法,可以__________。 A.在桌面上右击,选择快捷菜单的相应命令进行设置 B.在桌面上直接设置 C.在控制面板的"区域和语言"设置 D.在任务栏上直接设置 ___________是关于矢量图形的错误描述。 A.图形基本数据单位是几何图形 B.图形放大或缩小会变形、变模糊 C..图形放大或缩小不会变形、变模糊 D.图形是通过算法生成的 计算机网络建立的主要目的是实现计算机资源共享,计算机资源主要指_________。 A.服务器、工作站与软件 B.软件与数据库 C.通信子网与资源子网 D.硬件、软件与数据 Excel 2010,文本数据前后相连的运算符是_________。 A.& B.# C.@ D.+ 二、填空题 1、若要将两台安装了网卡的计算机直接

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值