指令练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章指令答案
3-1 简述MCS-51汇编语言指令格式。
答:MCS-51汇编语言指令格式如下:
[标号:]操作码助记符[操作数1][,操作数2][,操作数3[,注释]
标号是用户定义的符号,其值代表这条指令的地址。
操作码助记符是指令系统规定的代表特定指令功能的英文缩写符。每条指令都有操作码助记符。
指令的操作数最多有3个,也有无操作倏地指令。
注释字段是用户对程序的说明,便于对程序的阅读和理解。
3-2 MCS-51指令系统主要有哪几种寻址方式?试举例说明。
答:MCS-51指令操作数主要有以下7种寻址方式:
寻址方式举例
立即寻址MOV A,#16
直接寻址MOV 20H,P1
寄存器寻址MOV A,R0
寄存器间接寻址MOVX A,@DPTR
变址寻址MOVC A,@A+DPTR
相对寻址SJMP LOOP
位寻址ANL C,70H
3-3 对访问内部RAM和外部RAM,各应采用哪些寻址方式?
答:对内部RAM的寻址方式有直接寻址、寄存器间接寻址和可对位寻址的位寻址。对外部RAM的寻址方式只能用寄存器R0/R1(8位地址)或DPTR(16位地址)间接寻址。
3-4 在设A=0FH,R0=30H,内部RAM的(30H)=0AH、(31H)=0BH、(32H)=0CH,请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0
MOV @R0,32H
MOV 32H,A
MOV R0,#31H
MOV A,@R0
解:A=0BH,R0=31H,内部RAM:(30H)=0CH、(31H)=0BH、(32H)=0AH。3-5 请用数据传送指令来实现下列要求的数据传送。
(1)R0的内容输出到R1
解:MOV A,R0
MOV R1,A
(2)内部RAM20H单元的内容传送到A中。
解:MOV A,20H
(3)外部RAM30H单元的内容送到R0。
解:MOV R0,#30H
MOVX A,@R0
MOV R0,A
注意:用Ri(i=0、1)来间接寻址外部RAM能访问一个256字节页中的单元,现行寄存器Ri的内容为8位地址分时出现在P0口上,对于一个使用分时多路数
据/地址线的外部256字节RAM阵列(例如,外接一个8155RAM/IO/定时器),8位地址已满足要求了,除P3口提供对外部RAM的控制线外,P1,P2可用作普通I/O口。对于较大的外部RAM阵列,可使用其它输出口线来输出页面地址,但在执行MOVX@Ri指令之前要先输出页面地址。
(4)外部RAM30H单元的内容送内部RAM20H单元。
解:MOV R0,#30H
MOVX A,@R0
MOV 20H,A
(5)外部RAM1000H单元的内容送内部RAM20H单元。
解:MOV DPTR,#1000H
MOVX A,@DPTR
MOV 20H,A
(6)程序存储器ROM2000H单元的内容送R1。
解:MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV R1,A
(7)ROM2000H单元的内容送到内部RAM20H单元。
解:MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV 20H,A
(8)ROM2000H单元的内容送外部RAM30H单元。
解:MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV R0,#30H
MOVX @R0,A
(9)ROM2000H单元的内容送外部RAM1000H单元。
解:MOV DPTR,#2000H
CLR A
MOVC A,@A+DPTR
MOV DPTR,#1000H
MOVX @DPTR,A
3-6设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH 单元)的内容如何?
MOV R0,#30H ;R0=30H
MOV A,@R0 ;A=5AH
MOV R1,A ;R1=5AH
MOV B,R1 ;B=5AH
MOV @R1,P1 ;(5AH)=7FH
MOV A,P1 ;A=7FH
MOV 40H,#20H ;(40H)=20H
MOV 30H,40H ;(30H)=20H
解:每一条指令执行后的结果如注释字段所标。最后的结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。3-7 设A=5AH,R1=30H,(30H)=E0H,Cy=1。分析下列各指令执行后A的内容以及对标志位的影响(每条指令都以题中规定的原始数据参加操作)。(1)XCH A,R1
解:A=30H,P=0
(2)XCH A,30H
解:A=E0H,P=1
(3)XCH A,@R1
解:A=E0H,P=1
(4)XCHD A,@R1
解:A=50H,P=0
(5)SWAP A
解:A=A5H,P=0
(6)ADD A,R1
解:A=8AH,CY=0,AC=0,OV=1,P=1
(7)ADD A,30H
解:A=3AH,CY=1,AC=0,OC=0,P=0
(8)ADD A,#30H
解:A=8AH,CY=1,AC=0,OC=0,P=1
(9)ADDC A,30H
解:A=3BH,CY=1,AC=0,OV=0,P=1
(10)INC A
解:A=5BH,P=1
(11)SUBB A,30H
解:A=79,CY=1,AC=0,OV=0,P=1
(12)SUBB A,#30H
解:A=29H,CY=0,AC=0,OV=0,P=1
(13)DEC A
解:A=59H,P=0
(14)RL A
解:A=B4H,P=0
(15)RLC A
解:A=B5H,Cy=0,P=1
(16)CPL A
解:A=A5H,P=0
(17)CLR A
解:A=00H,P=0
(18)ANL A,30H
解:A=40H,P=1
(19)ORL A,@R1
解:A=FAH,P=0
(20)CRL A,#30H