寻址方式和指令习题
一、选择题
1、MOVX A,@DPTR指令中源操作数的寻址方式是( )
(A) (A) 寄存器寻址 (B)寄存器间接寻址 (C)直接寻址 (D)立即寻址
2、ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H 当CPU响应外部中断0后,PC的值是( )
(A) (A) 0003H (B)2000H (C)000BH (D)3000H
3、执行PUSH ACC指令,MCS-51完成的操作是( )
(A)SP+1 SP (ACC) (SP) (B)(ACC) (SP)SP-1 SP
(C)SP-1 SP (ACC) (SP) (D)(ACC) (SP)SP+1 SP
4、CALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=( )
(A)2000H (B)2001H (C)2002H (D)2003H
5、51执行完MOV A,#08H后,PSW的一位被置位( )
(A)C (B)F0 (C)OV (D)P
6、下面条指令将MCS-51的工作寄存器置成3区( )
(A)MOV PSW,#13H (B)MOV PSW,#18H
(B) (B) SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.4
7、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是( )
(A)/PSEN (B)ALE (C)/RD (D)/WR
8、MOV C,#00H的寻址方式是( )
(A) (A) 位寻址 (B)直接寻址 (C)立即寻址 (D)寄存器寻址
9、ORG 0000H
AJMP 0040H
ORG 0040H
MOV SP,#00H当执行完左边的程序后,PC的值是( )
(A) (A) 0040H (B)0041H (C)0042H (D)0043H
10、对程序存储器的读操作,只能使用( )
(A) (A) MOV指令 (B)PUSH指令 (C)MOVX指令(D)MOVC指令
二、判断题
1、MCS-51的相对转移指令最大负跳距是127B。( )
2、当MCS-51上电复位时,堆栈指针SP=00H。(SP=07H)( )
3、调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与PC无关。( )
下面几条指令是否正确:
4、MOV @R1,#80H ( )
5、INC DPTR ( )
6、CLR R0 ( )
7、MOV @R1,#80H ( )
8、ANL R1,#0FH ( )
9、ADDC A,C ( )
10、XOR P1,#31H ( )
三、问答题
1 简述MCS-51 汇编语言指令格式。
2 MCS-51指令系统主要有哪几种寻址方式?试举例说明。
3对访问内部RAM和外部RAM,各应采用哪些寻址方式?
4设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?
5 SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别。
四、编程题
1 编程将片内RAM 30H单元开始的15B的数据传送到片外RAM 3000H开始的单元中去。
2 片内RAM 30H开始的单元中有10B的二进制数,请编程求它们之和(和<256)。
3 编一个程序,将累加器中的一个字符从串行接口发送出去。
4 用查表法编一子程序,将R3中的BCD码转换成ASCII码。
5 片内RAM40H开始的单元内有10B二进制数,编程出其中最大值并存于50H单元中。
6 编一子程序,从串行接口接受一个字符。
7 利用调子程序的方法,进行两个无符号数相加。请编主程序及子程序。
8 若图数据块是有符号数,求正数个数。编程并注释。
9 编制一个循环闪烁灯的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,
循环不止。画出电路图。
答案
一、选择题
1、MOVX A,@DPTR指令中源操作数的寻址方式是(B)
(A) 寄存器寻址 (B)寄存器间接寻址 (C)直接寻址 (D)立即寻址
2. ORG 0003H
LJMP 2000H
ORG 000BH
LJMP 3000H
当CPU响应外部中断0后,PC的值是(B)
(A) 0003H (B)2000H (C)000BH (D)3000H
3. 执行PUSH ACC指令,MCS-51完成的操作是(A)
(A)SP+1 SP (ACC) (SP) (B)(ACC) (SP)SP-1 SP
(C)SP-1 SP (ACC) (SP) (D)(ACC) (SP)SP+1 SP
4、 LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=(D)
(A) 2000H (B)2001H (C)2002H (D)2003H
5、51执行完MOV A,#08H后,PSW的哪一位被置位?(D)
(A)C (B)F0 (C)OV (D)P
6、下面哪条指令将MCS-51的工作寄存器置成3区(B)
(A)MOV PSW,#13H (B)MOV PSW,#18H
(C)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.4
7、执行MOVX A,@DPTR指令时,MCS-51产生的控制信号是(C)
(A) /PSEN (B)ALE (C)/RD (D)/WR
8、MOV C,#00H的寻址方式是(A)
(A) 位寻址 (B)直接寻址 (C)立即寻址 (D)寄存器寻址
9、 ORG 0000H
AJMP 0040H
ORG 0040H
MOV SP,#00H
当执行完上边的程序后,PC的值是(D)
(A) 0040H (B)0041H (C)0042H (D)0043H
10、对程序存储器的读操作,只能使用(D)
(A) MOV指令 (B)PUSH指令 (C)MOVX指令(D)MOVC指令
二、判断题。
1、MCS-51的相对转移指令最大负跳距是127B。(错)128B
2、当MCS-51上电复位时,堆栈指针SP=00H。(SP=07H)( 错 )
3、调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与PC无关。(错)子序的转返与PC也有关(汇编判断指令PC入栈与出栈)
4、MOV @R1,80H (对)
5、INC DPTR (对)
6、CLR R0 (错)指令系统中没有。
7、MOV @R1,#80H (对)
8、ANL R1,#0FH (错)
9、ADDC A,C (错)
10、XOR P1,#31H (对)
三、简答题
1 简述MCS-51汇编语言指令格式。
答:MCS-51汇编语言格式如下:
[标号:]操作码助记符[操作数1] [,操作数2] [,操作数3][;注释]
标号是用户定义的符号,其值代表这条指令的地址。
操作码助记符是指令系统规定的代表特定指令功能的英文缩写符。每条指令都有操作码记符。指令的操作数最多有3个,也有无操作数的指令。
注释字段是用户对程序的说明,便于对程序的阅读和理解。
2 MCS-51指令系统主要有哪几种寻址方式?试举例说明。
答:MCS-51指令操作数主要有以下7种寻址方式:
寻址方式 举例
立即寻址 MOV A,#16
直接寻址 MOV 20H,P1
寄存器寻址 MOV A,R0
寄存器间接寻址 MOVX A, @DPTR
变址寻址 MOVC A, @A+DPRT
相对寻址 SJMP LOOP
位寻址 ANL C,70H
3对访问内部RAM和外部RAM,各应采用哪些寻址方式?
答:对内部RAM的寻址方式有直接寻址、寄存器间接寻址和位寻址区的位寻址。对外部RAM的寻址方式只能用寄存器R0/R1(8位地址)或DPTR(16位地址)间接寻址。
4设内部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。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论