网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式思考题(第三章).doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

嵌入式思考题(第三章)

Arm指令是有条件执行,常用的条件助记符EQ,NE,HI,LS是何意义?

条件码

助记符后缀

标志

含义

0000

EQ

Z置位

相等/是否为0

0001

NE

Z清零

不相等

1000

HI

C置位并且Z清零

无符号数大于

1001

LS

C清零或Z置位

无符号数小于或等于

2)一些指令不需要后缀“S”,也能更新条件码标志,是哪几个?

CMP,CMN,TST,TEQ(其唯一功能就是更新条件码标志)

3)第二操作数做立即数时,哪些是有效的,哪些是无效的?

立即数不能做为目标操作数的,但可以作为源操作数。

MOVAX,1234H这是正确的

MOV1234H,AX这是错误的

4)LSL、LSR、ASL、ASR、ROR、RRX的含义?

LSL:逻辑左移(按操作数所指定的数量向左移位,低位用零填充)

LSR:逻辑右移

ASL:算术左移指令(每执行一次,将D通道中的数据按位左移一位最高位移到CY中,0移进最低位)

ASR:算术右移指令

ROR:循环右移指令(每执行一次,将D通道中的数据连同CY的内容,按位循环右移一位)

RRX:带扩展的循环右移(按操作数所指定的数量向右循环移位,左端用进位标志位C来填充)

5)根据下面的指令,写出执行的结果:

ADDR3,R2,R1,LSR#2

R3=R2+R11

LDRR0,[R1,R2,LSL#2]

将存储器地址为R1+R22的字数据读入寄存器R0中

LDRR0,[R1,#4]!

将存储器地址为R1+4的字数据读入寄存器R0中,并将R1+4的值存入R1

LDRR0,[R3],-R8

将存储器地址为R3的字数据读入寄存器R0中,并将R3-R8的值存入R0

LDRR0,[R3],R8,LSL#2

将存储器地址为R3的字数据读入寄存器R0中,并将R3+R82(即R3+R8*4)的值存入R0

STRBR0,[R3,-R8,ASR#2]

将寄存器R0的最低有效字节传送给R3-R82(即R3-R8/4),R3和R8不变

LDREQSHR11,[R6]

(有条件地)将寄存器R6的值传送给R11,加载16位半字,带符号扩展到32位

STRHR4,[R0+R1]

将寄存器R4的值传送给地址为R0+R1的寄存器

STRDR4,[R9,#24]

将寄存器R4的值传送给地址为R9+24的寄存器,将寄存器R5的值传送给地址为R9+28的寄存器

6)根据下面的指令,写出执行的结果:

LDMIAR1,{R0,R2,R5}

((R1))-R0,((R1)+4)-R2,((R1)+8)-R5

LDMIBR1,{R0,R2,R5}

((R1)+4)-R0,((R1)+8)-R2,((R1)+12)-R5

LDMDAR1,{R0,R2,R5}

((R1))-R0,((R1)-4)-R2,((R1)-8)-R5

LDMDBR1,{R0,R2,R5}

((R1)-4)-R0,((R1)-8)-R2,((R1)-12)-R5

7)理解多寄存器寻址和堆栈寻之间的联系,分别写出堆栈寻找LDMFA、LDMED、STMEA、STMFD所对应的多寄存器寻找指令。

多寄存器寻址:

LDMIA:?每次传送后地址加4;LDMIB:?每次传送前地址加4;

LDMDA:?每次传送后地址减4;LDMDB:?每次传送前地址减4;

堆栈寻址:

文档评论(0)

songyj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档