2024年3月12日发(作者:)

3·1 汇编指令

第 3 章 MCS 一 51 系列单片机的指令系统

和汇编语言程序

3·1·1 请说明机器语言、汇编语言、高级语言三者的主要区分,进一步说明为什么这三种

语言缺一不行。

3·1·2 请总结:

(1)

汇编语言程序的优缺点和适用场合。

(2)

学习微机原理课程时,为什么肯定要学汇编语言程序?

3·1·3MCS 一 51 系列单片机的寻址方式有哪儿种?请列表分析各种寻址方式的访问对象与

寻址范围。

3·1·4 要访问片内RAM,可有哪几种寻址方式?

3·1·5 要访问片外RAM,有哪几种寻址方式?

3·1·6 要访问ROM,又有哪几种寻址方式?

3·1·7 试按寻址方式对 MCS 一 51 系列单片机的各指令重进展归类(一般依据源操作数寻

址方式归类,程序转移类指令例外)。

3·1·8 试分别针对 51 子系列与 52 子系列,说明 MOV A,direct 指令与MOV

指令的访问范围。

ROM 的指令那么少?CPU 访问ROM 多不多?什么时候需要访问ROM?

3·1·10 试绘图示明MCS 一 51 系列单片机数据传送类指令可满足的各种传送关系。

3·1·11 请选用指令,分别到达以下操作: (1)

将累加器内容送工作存放器R

6

.

(2)将累加器内容送片内RAM 的 7BH 单元。(3)

将累加器内容送片外RAM 的 7BH 单元。(4)将

累加器内容送片外RAM 的 007BH 单元。(5)将

ROM007BH 单元内容送累加器。

3·1·12 区分以下指令的不同功能:

A,#24H 与 MOV A.24H

A,@R0

A,@R0

A,R0 与MOV

(l)MOV

(2)MOV

(3)MOV

A,@Rj

3·1·9 传送类指令中哪几个小类是访问RAM 的?哪几个小类是访问ROM 的?为什么访问

A,@R0 与 MOVX

3·1·13 设片内RAM 30H 单元的内容为 40H;

片内RAM 40H 单元的内容为l0H;

片内RAM l0H 单元的内容为 00H;

(Pl)=0CAH。

请写出以下各指令的机器码与执行以下指令后的结果(指各有关存放器、RAM 单元与端口的

内容)。

MOV

MOV

MOV

MOV

MOV

MOV

MOV

MOV

R0,#30H

A,@R0

RI,A

B,@Rl

@R0,Pl

P3,Pl

l0H,#20H

30H,l0H

3·1.14 :(A)=35H,(R0)=6FH,(Pl)=FCH,(SP)=C0H,试分别写出以下指令的机器码及执

行各条指令的结果:

(l)MOV R6,A

(2)MOV

(3)MOV

(4)MOV

(5)MOV

(6)MOVX

(7)PUSH

(8)SWAP

(g)XCH

3·1.15

@R0,A

A,廿 90H

A,90H

80H,廿 81H

@R0,A

A

A

A,R0

片内 RAM(7FH)=70H,片外 RAM :(A)=02H,(Rl)=7FH,(DPTR)=2FFCH,

A,@Rl

@DPTR,A

A,@A+DPTR

A,@Rl

(FFEH)=llH,ROM (FFEH)=64H,试分别写出以下指令的机器码及执行各条指令的结果。

(l)MOV

(2)MOVX

(3)MOVC

(4)XCHD

3 · 1.16 :(A)=78H,(Rl)=78H,(B)=04H, C=l,片内 RAM (78H)=DDH,片内 RAM

(80H)=6CH,试分别写出以下指令的机器码及执行各条指令的结果(如涉及标志位,也要写

出)。

(l)ADD

(2)ADDC

(3)SUBB

(4)INC

(5)DEC

(6)MUL

(7)DIV

(8)ANL

(9)ORL

(10)XRL

3·1·17

A,@Rl

A,78H

A,#77H

Rl

78H

AB

AB

78H,#78H

A,#0FH

80H,A

A, :C=0,累加器和 Rl 内容分别为无符号数甲和乙,间:执行指令 ADDC

Rl 后,进位位、符号位和溢出位将各为何值?累加器的内容为何,该如何读取?

(1)

甲为 02H,乙为FFH

(2)甲为 02H,乙为F0H

3·1·18 :C=0,累加器和Rl 内容分别为补码表示的带符号数甲和乙,间:执行指令

ADDC A,Rl 后,进位位、符号位和溢出位将各为何值?累加器的内容为何,该如何读取?

(1)甲为 78H,乙为 05H

(2)

甲为 88H,乙为FBH

(3)甲为 78H,乙为 69H

(4)甲为 88H,乙为 97H

(5)甲为 7FH,乙为FEH

(6)甲为 7FH,乙为 80H

3·1·19 :C=0,累加器和Rl 内容分别为无符号数甲和乙,间:执行指令 STTBB A,Rl

后,进位位、符号位和溢出位将各为何值?累加器的内容为何,该如何读取?