51作业(指令系统)
- 格式:doc
- 大小:51.00 KB
- 文档页数:5
指令系统作业
一、基础知识
1.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A、R0和内部RAM中50H、51H、52H单元的内容为何值?
MOV A,59H
MOV R0,A
MOV A,#00H
MOV @R0,A
MOV A,#25H
MOV 51H,A
MOV 52H,#70H
2.执行下列程序后,A和B寄存器的内容是多少?
MOV SP,#3AH
MOV A,#20H
MOV B,#30H
PUSH ACC
PUSH B
POP ACC
POP B
3.假定外部RAM2000H单元的内容为80H,那么执行下列程序后,A的内容是多少?
MOV P2,#20H
MOV R0,#00H
MOVX A,@R0
4.假定累加器A的内容为30H。
1000H:MOVC A,@A十PC
执行指令后,把程序存储器的哪个单元的内容送累加器A中?
5.假定DPTR的内容为8100H,累加器的内容为40H,执行下列指令后,送入的是程序存储器的哪个元的内容?
MOVC A,@A十DPTR
6.假定(SP)=60H,(ACC)=30H,(B)=70H,(60H)=0FDH,执行下列程序后,SP、60H、61H、62H的内容各是多少?
PUSH ACC
PUSH B
7.假定(SP)=62H,(60H)=0FDH,(61H) =50H,(62H)=7AH,执行下列程序后
SP、60H、61H、62H及DPTR的内容各是多少?
8.假定(A)=85H,(R0)=20H,(20H) =0AFH,下列执行指令后累加器A的内容及Cy、AC、OV、P的内容是多少?
9.假定(A)=85H,(20H)= 0FEH,(Cy)= 1,执行下列指令后累加器A的内容及Cy、AC、OV、P的内容是多少?
ADD A,20H
10.假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)= 40H,(40H)=00H,执行下列指令后,上述寄存器和存储单元的内容是多少?
INC A
INC R3
INC 30H
INC @ R0
11.假定(A)=56H,(R5)=67H,执行下列指令后A和Cy的内容是多少?
A DD A, R5
DA A
12.假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)= 40H,(40H)=0FFH,执行下列指令后,上述寄存器和存储单元的内容是多少?
DEC A
DEC R7
DEC 30H
DEC @R1
13.分析下列指令序列,写出它所实现的逻辑表达式。
MOV C,P1.0
ANL C,P1.1
ANL C,/P1.2
MOV P3.0,C
14.假定(A)=50H,(B)=0A0H。
执行下列指令后,寄存器B的内容和累加器A的内容为多少,Cy和OV的状态是什么?
MUL AB
15.假定(A)=0FBH,(B)=12H。
执行下列指令后,寄存器B的内容和累加器A的内容为多少,Cy和OV的状态是什么?
DIV AB
16.假定(A)=0CFH,执行下列指令后,累加器A的内容为多少?
SW AP A
17.已知(A)=83H,(R0)=17H,(17H)=34H。
请写出执行完下列程序段后A的内容。
ANL A,17H
ORL 17H,A
CPL A
18.什么是寻址方式?在MCS-51中,有哪几种寻址方式?
19.设(A)=55H,(R5)=0AAH,如果执行“ANL A,R5”指令后,那么累加器A和寄存器R5的内容是多少? 如果执行"ORL A,R5”指令,那么累加器A和寄存器R5的内容是多少? 如果执行“XRL A,R5”指令,那么A和R5的内容又是多少?
20.DA指令作用是什么? 它跟在哪些指令的后面使用?
21.“LJMP PROG”和“LCALL PROG”的区别是什么?
二、选择题
1.MOV A,@R0这条指令中@R0的寻址方式称为( )。
(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即数寻址
2.在CPU内部,反映程序运行状态或反映运算结果的特殊功能寄存器是( )。
(A)PC (B)PSW (C)A(D)SP
3.在单片机CPU中,PSW中的Cy、AC、OV和P是反映( )参与运算的状态。
(A)DPTR (B)R5 (C)A(D)SP
4.下列指令中正确的是( )。
(A)MOV P2.1,A(B)JBC TF0,L1
(C)MOVX B,@DPTR (D)MOV A,@R3
5.下列指令中错误的是( )。
(A)SETB 50H.0 (B)MOV A,B
(C)JNC LOOP (D)SUBB A,R0
6.下列哪条减法指令是错误的?( )
(A)SUBB A,R7 (B)SUBB A,@R1
(C)SUBBC A,#30H (D)SUBB A,30H
7.指令“CJNE A,#08H,LOOP”影响PSW的( )位。
(A)AC (B)OV (C)Cy (D)RSl
8.在“MUL AB”指令中,若积超过255,则( )。
(A)Cy=1 (B)AC=1 (C)OV=1 (D)P=1
9.LJMP跳转范围是( )。
(A)64KB (B)8KB (C)2KB (D)-128~127B
10.MCS—51系列单片机最长的一条指令需( )个机器周期。
(A)1 (B)4 (C)2 (D)8
11.下列指令中正确的是( )。
(A) CJNE A,R0,NEXT (B)CJNE A,@R0,NEXT
(C) CJNE A,#40,NEXT (D)CJNE R2,30H,NEXT
12.下列指令中错误的是( )。
(A) CLR A(B)CLR 27H.5
(B) CLR R7 (D)CLR C
13.下列指令中正确的是( )。
(A) MOV R1,R3 (B)DEL DPTR
(C) MUL A,30H (D)MOV TLD,R7
14.MCS—5l单片机扩展I/O口与外部数据存储器( )。
(A)分别独立编址(B)统一编址
(C)变址编址(D)动态变址
三、简单程序设计
1.试编写程序,将内部RAM的20H、21H、22H这3个连续单元的内容依次存入2FH、2EH和2DH中。
2.编程实现外部RAM 2040H单元的内容与3040H单元的内容互换。
4.已知X被存放在20H(高8位)和21H(低8位)单元,y被存放在22H,编制程序实现X+Y。
5.已知两个十进制数X和Y,X被存放在20H(高位)和21H单元,Y被存放在22H,编制程序实现X+Y。
6.已知X被存放在20H(高8位)21H、22H、23H单元,y被存放在30H(高8位)、3lH、32H、33H单元,编制程序实现X+Y。
7.已知X被存放在20H(高8位)、21H和22H单元,y被存放在23H,编制程序实现X-Y。
8.编写程序实现两个16位数的减法:6F5DH一13B4H,结果存人内部RAM的30H、31H单元,30H存差的低8位。
9.已知X被存放在20H(高8位)21H、22H、23H单元,y被存放在30H(高8位)、31H、32H、33H单元,编制程序实现X—y。
10.已知X被存放在20H(高8位)21H、22H单元,y被存放在30H单元,编制程序实现下X×Y。
11.已知一个数X被存放在20H(高8位)21H单元,用移位方法实现2X。
12.已知一个数X被存放在20H(高8位)21H单元,用移位方法实现X/2。
13.已知一个非正数X被存放在20H(高8位)21H单元,求该数的补码。
14.根据X的值分别将程序转移到指定处执行:X=0,则转PROG l;X=1,则转PROG 2;X=2,则转PROG 3;X=3,则转PROG 4。
15.显示装置如图所示,设计驱动电路并编制程序
实现下列要求:指示灯依次顺时针点亮—逆时针灭—全亮
若干秒全灭,周而复始地重复上述过程。
16.求出无符号单字节数X、y、Z中的最大数存放
在50H单元。
17.把20H~2FH连续16个单元清0。
18.把内部RAM的20H~2FH连续16个单元的内
容转移到外部RAM的2000H单元开始的区域中。
19.一批8位二进制数据存放在单片机内部RAM以
20H单元开始的区域,数据长度为100个,编制程序统计
该批数据中数值为65H的数据的个数,将统计结果存放在
R7中。
20.已知两个十进制数X和Y,X被存放在20H(高
位)和21H单元,y被存放在22H和23H单元,编制程序
实现X—Y。
21.已知4位十进制数X被存放在20H(高位)和21H单元,请将该数转换为分离式BCD 码形式,并将结果存在20H、21H、22H、23H单元。
22.编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。