MCS-51系列单片机的指令系统和汇编语言程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 A,@Rj 指令的访问范围。

3·1·9 传送类指令中哪几个小类是访问RAM 的?哪几个小类是访问ROM 的?为什么访问ROM 的指令那么少?CPU 访问ROM 多不多?什么时候需要访问ROM?

3·1·10 试绘图示明MCS 一51 系列单片机数据传送类指令可满足的各种传送关系。3·1·11 请选用指令,分别到达以下操作: (1)

将累加器内容送工作存放器R6.

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

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

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

ROM007BH 单元内容送累加器。

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

(l)MOV A,#24H 与MOV A.24H

(2)MOV A,R0 与MOV A,@R0

(3)MOV A,@R0 与MOVX A,@R0

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

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

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

(Pl)=0CAH。

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

MOV R0,#30H

MOV A,@R0

MOV RI,A

MOV B,@Rl

MOV @R0,Pl

MOV P3,Pl

MOV l0H,#20H

MOV 30H,l0H

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

(l)MOV

(2)MOV

(3)MOV

R6,A

@R0,A A,廿90H

(4)MOV A,90H

(5)MOV 80H,廿81H

(6)MOVX @R0,A

(7)PUSH A

(8)SWAP A

(g)XCH A,R0

3·1.15 :(A)=02H,(Rl)=7FH,(DPTR)=2FFCH, 片内RAM(7FH)=70H,片外RAM (FFEH)=llH,ROM (FFEH)=64H,试分别写出以下指令的机器码及执行各条指令的结果。

(l)MOV A,@Rl

(2)MOVX @DPTR,A

(3)MOVC A,@A+DPTR

(4)XCHD A,@Rl

3 ·1.16 :(A)=78H,(Rl)=78H,(B)=04H,C=l,片内RAM (78H)=DDH,片内RAM (80H)=6CH,试分别写出以下指令的机器码及执行各条指令的结果(如涉及标志位,也要写出)。

(l)ADD (2)ADDC A,@Rl A,78H

(3)SUBB A,#77H

(4)INC Rl

(5)DEC 78H

(6)MUL AB

(7)DIV AB

(8)ANL 78H,#78H

(9)ORL A,#0FH

(10)XRL 80H,A

3·1·17 :C=0,累加器和Rl 内容分别为无符号数甲和乙,间:执行指令ADDC A,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

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

(1)甲为02H,乙为FFH

(2)甲为FFH,乙为02H

3·1·20 :C=0,累加器和Rl 内容分别为补码表示的带符号数甲和乙,问:执行指令SUBB A,R1 后,进位位、符号位和溢出位将各为何值?累加器的内容为何,该如何读取?

(1)甲为02H,乙为0lH

(2)甲为0lH,乙为02H

(3)甲为FFH,乙为FFH

(4)甲为FEH,乙为FFH

(5)甲为04H,乙为FFH

(6)甲为FFH,乙为04H

(7)甲为7FH,乙为ClH

(8)甲为ClH,乙为7FH

3·1·21 请对以下各组数分别计算“与“、“或“、“异或“的结果:

(1)10011010 和00001111

(2)11010011 和01011010

(3)11001100 和00110011

(4)10101010 和11111111

3·1·22 为到达以下要求,请说明应承受何种规律操作、承受什么操作数。要求不得转变各未涉及位的内容。

(1)使累加器的最低位置

“1“(2)去除累加器的高4

位(3)使A.2 和A.3 置“1“

(4)去除A·.3、A.4、A.5、A.6

3·1·93 请总结运用“与“、“或“、“异或“指令对字节内容进展修改的各种方法。

3·1·94 写出以下各条指令的机器码,并逐条写出依次执行每一条后的结果和PSw 的内容:

(l)CLR A

(2)MOV A,#9BH

(3)M Ov B,#0AFH

(4)A DD A,B

3,1·95 请具体说明RET 和RETI 这两条指令的区分。

3·1·96 :(A)=0,(Rl)=40H.片内RAM(30H)=0lH,FIRST=2022H,SECOND

=2050H,试分别写出以下指令的机器码及执行各条指令的结果:

(l))FIRST:AIMP SECOND

(2)FIRST:LIMP SECOND

(3)FIRST.SIMP SECOND

(4)FIRST.JZ SECOND

C5)FIRST:CINE A,30H,SECOND

(6)FIRST:LCALL SECOND

(7)SECOND:DJNZ Rl,FIRST

3·1·97 :P1.7=1,A.0=0,C=l,FIRST=l000H,SECOND=l020H,试分别写出

以下指令的机器码及执行各条指令的结果:

(l)MOV 26H,C

(2)C PL A.0

相关文档
最新文档