《ARM嵌入式系统结构与编程》习题答1.docx

上传人:b****6 文档编号:6685773 上传时间:2023-01-09 格式:DOCX 页数:9 大小:23.56KB
下载 相关 举报
《ARM嵌入式系统结构与编程》习题答1.docx_第1页
第1页 / 共9页
《ARM嵌入式系统结构与编程》习题答1.docx_第2页
第2页 / 共9页
《ARM嵌入式系统结构与编程》习题答1.docx_第3页
第3页 / 共9页
《ARM嵌入式系统结构与编程》习题答1.docx_第4页
第4页 / 共9页
《ARM嵌入式系统结构与编程》习题答1.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

《ARM嵌入式系统结构与编程》习题答1.docx

《《ARM嵌入式系统结构与编程》习题答1.docx》由会员分享,可在线阅读,更多相关《《ARM嵌入式系统结构与编程》习题答1.docx(9页珍藏版)》请在冰豆网上搜索。

《ARM嵌入式系统结构与编程》习题答1.docx

《ARM嵌入式系统结构与编程》习题答1

1《ARM嵌入式系统结构与编程》习题答案

第1章?

?

1.?

?

?

?

?

?

?

?

?

?

“?

?

?

?

?

”?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

“?

?

?

?

”?

?

?

?

?

?

?

?

?

2.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

20?

?

70?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

30?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Intel?

?

1971?

?

?

?

?

?

?

?

?

4?

?

?

?

?

?

?

?

?

?

4004,?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

80?

?

?

?

8051?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

20?

?

80?

?

?

?

?

?

?

?

?

?

?

“?

?

?

?

?

?

?

?

”,?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

20?

?

90?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

21?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

MCU?

?

?

?

?

?

?

?

?

?

?

?

?

?

ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

3.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

Linux?

?

?

?

?

?

?

?

?

?

uC/OS-II?

?

?

Linux?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Linux?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

uC/OS?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

“?

?

?

?

”?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

5.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

:

1.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

2.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

3.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

5.?

?

?

?

?

?

?

?

?

?

?

?

?

?

2?

ARM?

?

?

ARM?

?

?

?

1.?

?

ARM?

?

?

?

?

?

?

?

?

?

?

?

:

ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

ETM(EmbeddedTraceMacro),?

?

ARM?

?

?

?

?

?

?

?

?

?

?

?

ARM?

?

?

?

?

?

?

?

JTAG(JointTestActionGroup?

?

?

12?

?

?

?

?

)?

?

?

?

?

?

?

?

?

?

?

?

?

?

EmbeddedICE?

?

?

ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

CPU?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

CPU?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

ETM?

?

?

?

?

?

?

?

?

?

CPU?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

TAP(TestAccessPort)?

?

?

?

?

?

?

?

?

?

?

?

?

?

(?

?

?

?

?

?

),?

?

?

?

?

?

ARM?

ETM,?

?

?

ICE?

?

?

?

2.?

?

ARM7TDMI-S?

?

?

?

?

?

?

?

?

?

?

:

ARM7TDMI–S?

ARM?

AdvancedRISCMachines?

?

?

7?

?

?

?

;T:

?

?

?

?

?

16?

?

Thumb?

?

?

;D:

?

?

JTAG?

?

?

?

;M:

?

?

?

?

?

?

?

?

?

(64?

?

?

)ARM?

?

?

?

?

?

?

?

?

;;I:

?

?

?

?

?

?

?

?

?

?

ETM,?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;S:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

EDA?

?

?

?

?

?

?

?

3.ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

ARM?

?

?

?

?

?

?

ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

1.?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

2.FIQ?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

(fast)?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

3.IRQ?

?

:

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

(normal)?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

IRQ?

?

?

?

?

?

?

4.SVC?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

23?

5.?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

6.?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

7.?

?

?

?

:

?

?

?

User?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

7?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

6?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

6?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

5?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4.?

?

?

?

?

?

?

?

?

(PSR)?

?

?

?

?

?

?

?

?

?

C,Z,N,V?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

:

?

N=1-?

?

?

?

0-?

?

?

?

?

0?

Z=1-?

?

?

0,0-?

?

?

?

0?

C=1-?

?

0-?

?

?

V=1-?

?

?

?

0?

?

?

?

?

?

Q?

:

?

?

ARM5TE/J?

?

?

?

?

?

?

?

?

?

DSP?

?

?

?

?

?

?

?

?

?

?

?

:

?

I=1:

?

?

IRQ.?

F=1:

?

?

FIQ.?

TBit?

?

ARMxT?

?

?

?

?

T=0:

?

?

?

?

?

ARM?

?

?

T=1:

?

?

?

?

?

Thumb?

?

?

Mode?

(?

?

?

?

?

?

):

?

0b10000User?

0b10001FIQ?

0b10010IRQ?

0b10011Supervisor34?

0b10111?

0b11011?

0b11111AbortUndefinedSystem

5.?

?

ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

ARM7TDMI?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

BLSWIMOVPC,R14SVCUNDABTFIQIRQABTSVC66534210x000000080x000000040x0000000C0x0000001C0x000000180x000000100x00000000MOVSPC,R14_svc?

?

?

?

?

?

MOVSPC,R14_und?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

SUBSPC,R14_abt,#4SUBSPC,R14_fiq,#4SUBSPC,R14_irq,#4SUBSPC,R14_abt,#8?

?

?

?

?

?

?

ARM7TDMI?

?

?

?

?

?

?

?

:

1.?

?

?

?

LR?

?

?

?

?

?

?

?

?

?

?

2.?

CPSR?

?

?

?

?

?

SPSR?

;3.?

CPSR?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;4.?

?

PC?

?

?

?

?

?

?

?

?

?

?

?

ARM7TDMI?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

Thumb?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

PC?

?

?

?

?

?

?

ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

1.?

LR?

?

?

?

?

?

?

?

?

?

?

PC,?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

;2.?

SPSR?

?

?

?

?

CPSR;3.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

CPSR?

?

?

?

?

T?

F?

I?

?

?

?

?

?

?

?

?

?

?

?

?

?

6.ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

ARM7TDMI?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

(Big-endian)45?

?

?

?

?

?

(Little-endian)?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

0?

?

?

?

?

?

7~0?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

0?

?

?

?

?

?

31~24?

7.?

?

?

?

?

?

?

?

?

?

?

(LDR)?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

LDR?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

LDR?

?

?

?

?

?

?

LDR?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

(?

?

?

3?

?

?

)?

?

?

?

MOV?

?

?

?

?

?

?

?

?

8.?

?

ARM9?

5?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

ARM920?

?

?

?

?

?

?

?

5?

?

?

?

.?

?

:

?

?

?

Cache?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

ALU?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

ALU?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

(?

?

?

?

Cache)?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

9.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

56?

?

?

?

?

ORR?

?

?

?

?

?

?

?

?

LDR?

?

?

?

?

?

R4?

?

?

?

?

?

?

?

ORR?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

3?

ARM?

?

?

?

?

?

?

1.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

4?

?

?

?

15?

?

?

?

?

?

0000000100100011010001010110011110001001101010111100110111101111?

?

?

?

?

?

?

EQNECS/HSCC/LOMIPLVSVCHILSGELTGTLEALNVZ=1Z=0C=1C=0N=1N=0V=1V=0C=1,Z=0C=0,Z=1N=VN!

=VZ=0,N=VZ=1,N!

=V?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

(?

?

?

?

?

?

)?

?

?

?

(?

?

?

?

2.?

?

?

?

?

?

V?

?

?

?

?

?

?

?

?

?

?

?

?

1?

?

:

V—?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

V=1?

?

?

?

67?

?

?

?

?

?

?

?

?

?

?

?

V?

?

3.?

ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

(?

?

?

8?

?

?

?

4?

?

?

?

)0x54300x1080x3040x5010xfb100000x3340000x3FC0000x1FE00000x55800000x7F8000x39C0000x1FE80000?

:

?

?

?

?

?

?

1?

8?

?

?

?

?

?

?

?

32?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4?

?

?

?

?

?

?

?

?

?

?

?

?

8?

?

?

?

?

?

?

?

?

?

2*rotate_4?

(?

0,2,4,?

?

?

30)?

?

0X54300000,0000,0000,0000,0101,0100,0011,0000?

?

?

?

?

0X1080000,0000,0000,0000,0000,0001,0000,10000x42?

?

?

?

30?

(rotate_4=0xF)0X3040000,0000,0000,0000,0000,0011,0000,01000xC1?

?

?

?

30?

(rotate_4=0xF)0x5010000,0000,0000,0000,0000,0101,0000,0001?

?

?

?

?

0xfb100000000,1111,1011,0001,0000,0000,0000,0000?

?

?

?

?

0x3340000000,0000,0011,0011,0100,0000,0000,00000Xcd?

?

?

?

18?

(rotate_4=0x9)0x3FC0000000,0000,0011,1111,1100,0000,0000,00000XFF?

?

?

?

18?

(rotate_4=0x9)0x1FE00000000,0001,1111,1110,0000,0000,0000,0000?

?

?

?

?

0x55800000000,0101,0101,1000,0000,0000,0000,0000?

?

?

?

?

0x7F8000000,0000,0000,0111,1111,1000,0000,0000?

?

?

?

?

0x39C0000000,0000,0011,1001,1100,0000,0000,00000XE7?

?

?

?

18?

(rotate_4=0x9)0x1FE800000001,1111,1110,1000,0000,0000,0000,0000?

?

?

?

?

4.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

LSL?

?

?

?

:

3100LSR?

?

?

?

:

3100ASR?

?

?

?

:

78310ROR?

?

?

?

:

310RRX?

?

?

?

?

?

?

?

:

31C0

5.ARM?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

PC?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

5?

?

?

:

1)?

?

?

?

?

?

?

?

?

2)?

?

?

?

?

?

?

?

?

3)?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

5?

?

?

?

4)?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

5)?

?

?

?

?

?

?

?

?

?

?

RRX?

?

?

?

?

?

?

PC(R15)?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

6.?

Load/Store?

?

?

?

?

?

?

?

?

?

?

?

Load/Store?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

Load/Store?

?

?

?

?

?

?

?

?

?

?

?

Load/Store?

?

?

?

?

?

?

?

?

3?

?

?

?

?

?

?

?

?

:

1)Addressing_mode?

?

?

?

?

?

?

?

?

2)Addressing_mode?

?

?

?

?

?

?

?

?

?

?

3)Addressing_mode?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Load/Store?

?

?

?

?

?

?

?

?

2?

?

?

?

?

?

?

?

?

:

1)Addressing_mode?

?

?

?

?

?

?

?

?

2)Addressing_mode?

?

?

?

?

?

?

?

?

?

?

7.?

?

?

Load/Store?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

Load/Store?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4?

?

?

:

?

?

?

IA(IncrementAfter):

?

?

?

?

?

?

?

?

?

?

4;?

?

?

IB(IncrementBefore):

?

?

?

?

?

?

?

?

?

?

4;?

?

?

DA(DecrementAfter):

?

?

?

?

?

?

?

?

?

?

4;?

?

?

DB(DecrementBefore):

?

?

?

?

?

?

?

?

?

?

4;

8.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Load/Store?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

FA:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

FD:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

EA:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

89?

?

?

?

?

ED:

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

9.?

?

?

?

?

?

?

?

/?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

:

?

?

?

?

?

?

/?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

LDR/STR?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Addressing_mode?

?

?

?

?

?

8?

?

?

?

?

?

?

?

?

?

?

?

?

?

3?

:

•?

?

?

?

?

?

?

?

:

[,#+/-*4]?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Rn?

?

?

/?

?

imm_offset8?

4?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4,?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

•?

?

?

?

?

?

?

:

[,#+/-*4]!

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

Rn?

?

?

/?

?

imm_offset8?

4?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4,?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

寄存器。

•后变址回写形式:

[],#+/-*4内存地址为基址寄存器Rn的值,当存储器操作完成后,将基地址寄存器Rn值加上/减去imm_offset8的4倍,后续的每一个地址是前一个内存地址加4,直到协处理器发出信号,结束本次数据传输为止。

最后将Rn值加上/减去imm_offset8的4倍写回到基址寄存器Rn(更新基地址寄存器)。

10.写出下列指令的机器码,并分析指令操作功能。

MOVR0,R1MOVR1,,0X198ADDEQSR1,R2,,0xABCMPR2,#0XabLDRR0,[R1,#4]STRR0,[R1,R1,LSL#2]!

LDRHR0,[R1,#4]LDRSBR0,[R2,#-2]!

STRBR1,[R2,#0Xa0]910LDMIAR0,{R1,R2,R8}STMDBR0!

{R1-R5,R10,R11}STMEDSP!

{R0-R3,LR}答:

机器码部分略。

MOVR0,R1;R0《-----R1MOVR1,,0X198;R0《----0X198ADDEQSR1,R2,,0xAB;当Z=1时,R1《---R2+0xAB并影响标志位CMPR2,#0Xab;R2-0xAB,并影响标志位LDRR0,[R1,#4];R0《---【R1+4】STRR0,[R1,R1,LSL#2]!

;【R1+R1*4】《---R0,R1=R1+R1*4LDRHR0,[R1,#4];R0《---【R1+4】半字,R0的高16位清零LDRSBR0,[R2,#-2]!

;R0《---【R2-2】字节,R0有符号扩展为32位,R2=R2-2STRBR1,[R2,#0Xa0];【R2+0Xa0】《----R1低8位,LDMIAR0,{R1,R2,R8};将内存单元【R0】~【R+11】以字为单位读取到R1,R2,R8中STMDBR0!

{R1-R5,R10,R11}将寄存器R1~R5,R10,R11的值以字为单位依次写入【R0】中,每写一个字之前R0=R0-4STMEDSP!

{R0-R3,LR}将寄存器R0~R3,LR的的值以字为单位依次写入【SP】中,每写一个字之后SP=SP-4

第4章ARM指令集系统

1.ARM指令可分为哪几类?

说出哪几条指令是无条件执行的。

答:

ARM微处理器的指令集可以分为:

数据处理指令,分支指令,加载/存储指令,批量加载/存储指令,交换指令,程序状态寄存器(PSR)处理指令,协处理器操作指令和异常产生指令八大类。

几乎所有的ARM指令都是可以有条件执行的。

带链接和状态切换的跳转指令BLX,当目标地址由程序标号给出时,即:

BLX由于指令码中是没有条件编码位的,所以指令是无条件执行的。

2.如何实现两个64位数的加法操作,如何实现两个64位数的减法操作,如何求一个64位数的负数?

答:

1)使用ADC实现64位加法,结果存于R1、R0中:

ADDSR0,R0,R2;R0等于低32位相加,并影响标志位ADCR1,R1,R3;R1等于高32位相加,并加上低位进位2)使用SBC实现64位减法,结果存于R1、R0中:

SUBSR0,R0,R2;低32位相减,并影响标志位SBCR1,R1,R3;高32位相减,并减去低位借位3)使用RSC指令实现求64位数值的负数:

RSBSR2,R0,#0RSCR3,R1,#0

3.写出LDRB指令与LDRSB指令的二进制编码格式,并指出它们之间的区别。

答:

LDRB指令的二进制编码格式:

1011LDRSB?

?

?

?

?

?

?

?

?

?

:

LDRB?

?

?

?

?

?

?

?

?

?

?

8?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

8?

?

?

?

?

?

?

24?

?

?

?

?

?

LDRSB?

?

?

?

?

?

?

?

?

?

?

8?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

8?

?

?

?

?

?

?

24?

?

?

?

?

?

?

?

4.?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1