微机8微机原理习题答案.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

微机8微机原理习题答案

8.1ARM指令有哪几种寻址方式?试分别说明。

ARM指令系统支持的常见寻址方式有:

寄存器寻址:

1.操作数存放在寄存器中;

2.指令地址码字段给出寄存器编号(名);

3.指令执行时直接取出寄存器值来操作;

立即寻址:

1.操作数包含在指令当中;

2.指令地址码部分就是数据本身;

3.取指时就取出了可立即使用的操作数;

寄存器间接寻址:

寄存器移位寻址

1.操作数存放在寄存器中;

2.指令地址码字段给出寄存器编号(名)及移位表达式;

3.指令执行时取出寄存器值并移位,再将结果作为源操作数;

寄存器间接寻址:

1.操作数存放在内存单元中;

2.指令地址码字段给出[寄存器编号(名)];

3.指令执行时根据寄存器值(指针)找到相应的存储单元;

基址变址寻址

1.操作数存放在内存单元中;

2.指令地址码字段给出[寄存器编号(名)]和偏移量;

3.指令执行时将基址寄存器的内容与偏移量(4K)相加/减,形

成操作数的有效地址。

4.常用于查表、数组操作、功能部件寄存器访问等。

多寄存器寻址/块复制寻址:

1.操作数存放在内存单元中;

2.指令地址码字段给出{寄存器编号(名)列表};

3.编号高的寄存器总是对应内存中的高地址单元;

4.可完成存储块和16个寄存器或其子集之间的数据传送。

堆栈寻址:

1.操作数存放在内存栈顶单元中;

2.指令地址码字段固定使用栈顶指针SP;

3.指令执行时同多寄存器/块寻址,可完成多个数据的入栈和出栈;

相对寻址:

1.操作数为指令存放地址;

2.指令地址码字段为地址偏移量;

3.指令执行时同基址寻址,由PC提供基地址根据偏移量完成跳转;

8.2指出下列指令操作数的寻址方式。

1)MOVER1,R2寄存器直接寻址

2)SUBSR0,R0,#2立即寻址

3)SWPR1,R1,[R2]寄存器间接寻址

4)STRR1,[R0,#-4]!基址变址寻址

5)LDMFDSP!,{R1~R4,LR}多寄存器直接寻址

6)ANDSR0,R0,R1,LSLR2寄存器移位寻址

7)STMIAR1!,{R2~R5,R8}多寄存器直接寻址

8)BLAGAIN相对寻址

8.3ARM指令中的第二操作数有哪几种表示形式?举例说明。

第二源操作数有三类表示形式,分别是:

1)立即数方式(#imm)#imm是一个无符号的32位数值变量,

例如0x104

2)寄存器方式(Rm)Rm是存储第二源操作数的寄存器,例如R3

表示R3寄存器

3)寄存器移位方式(Shifter_operand)例如R3,ASR#2表示

R3地址右移2后寄存器

中的值

8.4判断下列指令的正误,并说明理由。

1)ADDR1,R2,#4!错误,#4是立即数寻址,不是寄存器寻址,

所以不能使用“!”

来对寄存器值更新。

2)LDMFDR13!,{R2,R4}正确

3)LDRR1,[R3]!错误,这是零偏移形式,无需使用“!”

4)MVNR5,#0x2F100正确

5)SBCR15,R6,LSRR4错误,没有指明对那个地址进行移位

(LSR)

6)MULR2,R2,R5正确

7)MSRCPSR,#0x001正确

8)LDRBPC,[R3]正确

8.5对下列各指令组写出运算指令执行的条件。

1)CMPR0,R1

ADDHIR1,R1,#1HI:如果R0

文档评论(0)

150****6105 + 关注
实名认证
文档贡献者

硕士毕业生

1亿VIP精品文档

相关文档