1.执行下列程序段后,(P1)=___9BH____。
MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.7
2.执行下列程序段后,(A)=__8BH_____,(CY)=__不影响__。
MOV A,#C5H RL A
3.下列程序段执行后,(R0)=___7FH____,(7EH)=__00H__,(7FH)=_41H______。
MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H INC @R0 INC R0 INC @R0
4.已知(SP)=60H,子程序
SUBTRN的首地址为0345H,现执行位于0123H的ACALL
SUBTRN双字节指令后,(PC)=__0345H_,(61H)=___25H____,(62H)= __01H__。
5.阅读下列程序,说明其功能。
MOV R0,#data MOV A,@R0 RL A
MOV R1,A RL A RL A
ADD A,R1 MOV @R0,A
RET ; (data)×10操作
6.改错
1.MUL RoRl 乘法指令应使用A、B寄存器操作
2.MOV A,@R7 间接寄存器使用R7有误,间址寄存器只能使用R0、R1 3.MOV A, #3000H 8位累加器A不能接受16位数据
4.MOVC @A+DPTR,A MOVC指令为对程序存储区操作指令,累加器的内容不可通过变址方式送入程序存储器,两操作数写反了。
5.UMP #1000H 长转移指令中的操作数为16位转移地址,不能用立即数的形式来表达。
7. 说明MCS—51单片机的下列各条指令中源操作数的寻址方式(可直接在每条指令后面书
写)
1.ANL A,20H 直接寻址 2.ADDC A, #20H 立即寻址
3.JZ rel 相对寻址 4.CLR C 位寻址
5.RRA 寄存器寻址
8.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?
(5分)设(60H)=35H,((A)=19H,(R0)=30H,(30H)=0FH。
(1)MOV A,#48H ;寻址方式: 立即寻址 ((A)= 48H
(2)ADD A,60H ;寻址方式: 直接寻址 ; ((A)= 4EH
(3)ANL A,@R0 ;寻址方式: 寄存器间接寻址 ; ((A)= 09H
9.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?(15分)
MOV R1,#30H ;(R1)= 30H MOV A,#H ;((A)= H ADD A,#47H ;((A)= ABH (CY)= 0 (A(C)= 0 DA A ;((A)= 11H ,(CY)= 1 (A(C)= 1 MOV @R1,A ;(R1)= 30H ,(30H)= 11H 此程序段完成的功能:(5分)求两个BCD码数(H和47H)的和,并将结果放在内部RAM的30H单元。
10.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =
MOV @R0 , #11H MOV A , R2 ADD A , 20H MOV PSW , #80H SUBB A , P0 XRL A , #45H MOV 40H , A
答:(20H)←11H ((A)←20H ((A)←((A)+(20) (CY)=1 ((A)-(P0)-(CY)→((A)即((A)←00H ((A)+45H→((A)即((A)←45H (40H)←45H
11. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下:
MOV A , @R0 MOV R0 , A MOV A , @R0 ADD A , 21H ORL A , #21H RL A MOV R2 , A RET
则执行结束(R0)= (R2)= 答: ((A)←((R0)) ((A)=36H (R0)←((A) (R0)←36H ((A)←((R0)) ((A)←34H ((A)←((A)+(21H) 34H+17H=4BH ((A)←((A)21H 4BH21H=6BH ((A)←D6H (R2)←D6H
(R0)=36H (R2)=D6H
12. 执行下面一段程序;
MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A PUSH B POP A POP B
A , B的内容是:(A)= (B)= 答:((A)=01H ((B)=10H
13. 设在31H单元存有#23H,执行下面程序:
MOV A, 31H ANL A, #0FH MOV 41H, A MOV A, 31H ANL A, #0F0H SWAP A
MOV 42H, A
则(41H)= (42H)=
答: (41H)=03H (42H)=02H 三.计算题(22分)
14.((A)=3BH,执行ANL A,#9EH指令后,((A)= 1AH (CY)=不受影响
15.JNZ REL为2B指令,放于1308H,转移目标地址是134AH,求偏移量REL=40H 16.若((A)=C3H,(R0)=AAH,执行ADD A,R0后,((A)= 6DH (CY)= 1
(OV)= 1 (A(C)= 0
177.若((A)=50H,((B)=A0H,执行MUL AB后,((A)=00H ((B)=32H (CY)
= 总为0 (OV)=1
18.SJMP 0E7H为2B指令,放于F010H,目标地址=EFF9H
四.阅读并分析程序(28分)
19.2506H M5:MOV SP,#58H
2509H MOV 10H,#0FH 250CH MOV 11H,#0BH
SP1SP,PC7~0SPSP1SP,PC15~8SPaddrPC10~0 250FH ACALL XHD ;PC+2PC ,
MOV 20H,11H
2514H M5A:SJMP M5A XHD:PUSH 10H PUSH 11H POP 10H POP 11H RET 问:(1)执行POP 10H后堆栈内容?(SP)=5AH (2)执行M5A:SJMP M5A后,(SP)= 58H (20H)= 0FH
20.A程序存储空间表格如下: 地址 内容 2000H 3FH 2001H 06H 2002H 5BH 2003H 4FH 。。。。。 。。。。。 已知:片内RAM的20H中为01H,执行下列程序后(30H)=5BH MOV A,20H INC A
MOV DPTR,#2000H MOVC A,@A+DPTR CPL A
MOV 30H,A SJMP $
21.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20H
MOV A,@R0 MOV @R0,40H MOV 40H,A MOV R0,#35H
问执行程序后,R0= 35H A= 7FH 4BH= 20H 40H= 7FH
22.若PSW=00, 执行下列程序后,PSW的各位状态如何?
MOV A,#0FBH MOV PSW,#10H ADD A,#7FH CY AC 1 1 五.程序填空(10分)
OV 0 P 1 OF 0 RS1 1 23.数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开
始的连续32个单元。 #20H R1 LOOP ORG 1000H
MOV R7,_____
MOV R0, #30H MOV R1,#60H
LOOP:MOV A,@R0 MOV _____,A INC R0 INC R1
DJNZ R7, _____ SJMP $ END
24. 将4个单字节数放片内30H~~33H,它们求和结果放在片内40H,41H单元。41H R0
ORG 1000H
MOV R7,#04H MOV R0,30H CLR A
MOV 41H,A
LOOP: ADD A,@R0 JNC NEXT
INC _____
NEXT:INC _____
DJNZ R7,LOOP MOV 40H,A SJMP $ END
25. RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD
码的十位和个位放在累加器A中,百位放在R2中。 40H #0AH A
ORG 2200H MOV A,_____ MOV B,#H DIV AB
MOV R2,A MOV A,_____ XCH A,B DIV AB SWAP _____ ORL A,B SJMP $ END
26. 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 #40H ORG 1000H MOV R7,#07H
MOV R0,_____
LOOP:MOV A,@R0 ANL A,_____ MOV @R0,A INC R0
DJNZ R7,LOOP SJMP $ END
一、 程序分析题(共20分,每题10分)
27、位地址为M、N、Y,程序如下:
MOV C,M ;(M) ➞C ANL C, ;(M) MOV Y,C ;(Y)=(M) MOV C,M ;(M) ➞C ANL C,N ;(M)
ORL CY ;
#0FH
MOV Y,C
程序功能表达式:
(Y)=(M)*(/N)+(M)*(N)
28、阅读下列程序并回答问题
CLR C MOV A,#9AH SUBB A,60H ADD A,61H, DA A MOV 62H,A (1) 请问该程序执行何种操作?
(2) 已知初值:(60H)=23H,(61H)=61H,请问运行程序后:( )? 解
(1) 操作是单字节BCD码运算,是将
(61H)-(60H)➞62H
(2)(62H)=38H
29、程序如下
2506H M5: MOV SP,#58H; 2509H MOV 10H,0FH; 250CH MOV 11H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H 2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H
62H)=
( POP 10H POP 11H
RET
问:(1)执行POP10H后堆栈内容?
(2)执行M5A:SJMP M5A后,(SP)=? (20H)=? 解
1) 执行ACALL指令时:PC+2➞PC:
(SP)+1➞SP PC0~PC7➞(SP) (SP)+1➞SP PC8~PC15➞(SP) 2) 子程序返回时,点地址弹出,SP=58H
所以 (1)执行POP 10H后,堆栈内容如左图所示.
5C 0B 5B 0F 5A 25 59 11 58
(2)执行M5A:SJMP M5A后,(SP)=58H, (20H)=0FH
30、解读下列程序,然后填写有关寄存器内容
(1) MOV R1,#48H MOV 48H,#51H CJNE @R1,#51H,00H JNC NEXT1 MOV A,#0FFH SJMP NEXT2 NEXT: MOV A,#0AAH NEXT2: SJMP NEXT2 累加器 A=( )
(2) MOV A,#0FBH MOV PSW,#10H
ADD A,#7FH 解
(1) MOV R1,#48H ;48H 送 R1 MOV 48H,#51H ;51H送➞(48H) CJNE @R1,#51H,00H ;(R1)GN #51相比,相等,顺序执行
JNC NEXT1 ;没借位转,NEXT1 MOV A,#0FFH ;有借位,FFH送A SJMP NEXT2
NEXT1 MOV A,#0AAH ;0AAH送A NEXT2 SJMP NEXT2 累加器 A=(0AAH) (2) MOV A,#0FBH
MOV PSW,#10H 00010000送PSW ADD A,#7FH
由 11111011 + 01111111 ____________ 1 01111010
所以,有进位CY=1,C6 ♁ C7=1♁1=0,OV=0; A中有奇
数个1,P=1;
有辅助进位位AC=1
若PSW=00,当执行完上述程序段后,将PSW各位状态
填入下表:
PSW
CY 1 AC 1 F0 0 RS1 1 RS0 0 OV 0 F1 0 P 1 31、程序存储器空间表格如下:
地址 2000H 2001H 2002H 2003H ... 内容 3FH 06H 5BH 4FH ... 已知:片内RAM的20H中为01H,执行下列程序后(30H)=? MOV A,20H ;01H➞A
INC A ;01H+1=02H➞A MOV DPTR,#2000H ;2000H➞DPTR MOVC A,@A+DPTR ;(2000H+2)=5
BH➞A
CPL A ;5BH求反等于A4H MOV 30H,A ;A4H➞(30H)
END: SJMP END 答 执行程序后,(30H)=A4
32、分析程序段:
CLR C
MOV A,#91H
SUBB A,61H ;求60H内的BCD数的补数,9AH-24H=76H
ADD A,61H ;76H+72H=E8H DA A ;CY=1、A=48H MOV 62H,A
解 根据9AH=99=1的特殊性,该程序功能为单字节BCD数减法运算,即完成的是(61H)-(60H)➞(62H)。所以运行后,(62H)=48H,意即72-24=48
33、(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(4BH)=20H
MOV A,@R0 ;7FH➞A MOV @R0,40,40H ;20H➞4BH MOV 40H,A ;7FH➞40H MOV R0,#35H
问执行和程序后,R0、A和4BH、40H单元内容的变化如何?
答 程序执行后(R0)=35H,(A)7FH,(4BH)=20H,(40H)=7FH.
34、设(R0)=7EH,DPTR=10FEH,片内RAM
结果。
INC @R0 INC R0 INC @R0 INC DPTR INC DPTR INC DPTR
解 (1)(7EH)=00H (2)R0=7FH (3)7FH=39H (4)DPTR=10FFH (5)DPTR=1100H (6)DPTR=1101H
7FH和7
FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行
35、设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,
(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何? CLR C MOV R2,#3
LOOP: MOV A,@R0 ADDC A,@R1 MOV @R0,A INC R0 INC R1 DJNZ R2,LOOP JNC NEXT1 MOV @R0,#01H SJMP $ NEXT: DEC R0
SJMP $
答 (20H)=(20H)、(21H)=00H、(22H)=17H、(23H)=01H、 CY=1、
A=17H、R0=23H、R1=28H
36、设片内RAM中(59H)=50H,执行下列程序段
MOV A,59H MOV R0,A MOV @R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H
解 A=25H,(50H)=0,(51H)=25H,(52H)=70H.
37 .MOV A,#10H ((A)= 10H MOV B,A ((B)= 10H MOV A,B ((A)= 20H ADD A,B ((A)= 20H MOV 20H,A (20H)= 21H INC A ((A)= 21H MOV 21H,A (21H)= 22H INC A ((A)= 22H MOV 22H,A (22H)= 22H
38.MOV DPTR,#2000H (DPTR)= 2000H MOV A,#80H ((A)= 80H MOVX @DPTR,A (2000H)= 80H INC DPTR (DPTR)= 2001H MOV A,#90H ((A)= 90H MOVX @DPTR,A (2001H)= 90H MOV DPTR,#2000H (DPTR)= 2000H MOVX A,@DPTR ((A)= 80H MOV B,A ((B)= 80H INC DPTR (DPTR)= 2001H MOVX A,@DPTR ((A)= 90H
39、改正下列指令
MOV @R3,A MOV @R1,A MOV DPTR,A MOVX DPTR,A INC @R3 INC A DEC DPTR DEC R0 ADDC #30H,A ADDC A,#30H
40.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果
MOV A,10H (A)= 0FFH , ANL A,#01H (A)= 01H , MOV A,11H (A)= 00H , ORL A,#01H (A)= 01H , MOV A,12H (A)= FFH , XRL A,#01H (A)= 01H , MOV A,13H (A)= 00H , XRL A,#0AA (A)= 0A ,
(10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H
41.MOV SP,#60H
MOV A,#01H (A)= 01H , MOV B,#02H (B)= 02H , PUSH A (SP)= 61H , PUSH B (SP)= 62H , POP A
POP B (60H)= 01H ,
42.改正下列指令
MOV A,DPTR MOVX A,@DPTR MOV DPTR,10H MOV A,10H MOV DPTR,40H MOV A,40H MOVX 40H,#30H MOV 40H,#30H ADD 20H,#10H ADD A,#10H
43.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果
MOV A,10H (A)= 0FFH , ANL A,#01H (A)= 01H , MOV A,11H (A)= 00H , ORL A,#01H (A)= 01H , MOV A,12H (A)= FFH ,
XRL A,#01H (A)= 01H , MOV A,13H (A)= 00H , XRL A,#0AA (A)= 0A ,
(10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H
44.MOV 30H,#60H
MOV R0,#60H MOV A,30H MOV B,A MOV @R0,B
(A)= ,(R0)= ,(B)= ,
45.MOV SP,#60H
MOV A,#01H (A)= 01H , MOV B,#02H (B)= 02H , PUSH A (SP)= 61H , PUSH B (SP)= 62H , POP A
POP B (60H)= 01H ,
46.改正下列指令
MOV A,DPTR MOVX A,@DPTR MOV DPTR,10H MOV A,10H MOV DPTR,40H MOV A,40H MOVX 40H,#30H MOV 40H,#30H ADD 20H,#10H ADD A,#10H
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务