资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
寻址方式和指令习题一、选择题1、MOVX A,DPTR 指令中源操作数的寻址方式是( )(A) (A) 寄存器寻址 (B)寄存器间接寻址 (C)直接寻址 (D)立即寻址2、ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当 CPU 响应外部中断 0 后,PC 的值是( )(A) (A) 0003H (B)2000H (C)000BH (D )3000H3、执行 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 SP4、CALL 指令操作码地址是 2000H,执行完相子程序返回指令后,PC= ( )(A)2000H (B)2001H (C)2002H (D)2003H5、51 执行完 MOV A,#08H 后,PSW 的一位被置位( )(A)C (B ) F0 (C)OV (D)P6、下面条指令将 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.47、执行 MOVX A,DPTR 指令时,MCS-51 产生的控制信号是( )(A)/PSEN ( B)ALE (C)/RD (D )/WR8、MOV C ,#00H 的寻址方式是( )(A) (A) 位寻址 (B)直接寻址 (C)立即寻址 (D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H 当执行完左边的程序后,PC 的值是( )(A) (A) 0040H (B)0041H (C)0042H (D ) 0043H10、对程序存储器的读操作,只能使用( )(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 0003HLJMP 2000HORG 000BHLJMP 3000H 当 CPU 响应外部中断 0 后,PC 的值是(B)(A) 0003H (B)2000H (C)000BH (D )3000H3 执行 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 SP4、 LCALL 指令操作码地址是 2000H,执行完相子程序返回指令后,PC= (D)(A) 2000H (B)2001H (C)2002H (D )2003H5、51 执行完 MOV A,#08H 后,PSW 的哪一位被置位?(D)(A)C (B ) F0 (C)OV (D)P6、下面哪条指令将 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.47、执行 MOVX A,DPTR 指令时,MCS-51 产生的控制信号是(C )(A) /PSEN (B)ALE (C )/RD (D )/WR8、MOV C ,#00H 的寻址方式是(A )(A) 位寻址 (B)直接寻址 (C)立即寻址 (D)寄存器寻址9、 ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完上边的程序后,PC 的值是(D)(A) 0040H (B)0041H (C)0042H (D )0043H10、对程序存储器的读操作,只能使用(D )(A) MOV 指令 (B)PUSH 指令 (C)MOVX 指令( D)MOVC 指令二、判断题。1、MCS-51 的相对转移指令最大负跳距是 127B。 (错)128B2、当 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,70H3 对访问内部 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=30HMOV A,R0 ;A=5AHMOV R1,A ;R1=5AHMOV B,R1 ;B=5AHMOV R1,P1 ;(5AH)=7FHMOV A,P1 ;A=7FHMOV 40H,#20H ;(40H)=20HMOV 30H,40H ;(30H)=20H解:每一条指令执行后的结果如注释字段所标。最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH, (30H)=20H, (40H)=20H, (5AH)=7FH。5 SJMP(短转移)指令和 AJMP(绝对转移)指令的主要区别。前者提供了以 SJMP 的下一条指令的起始地址为中心的 256 字节范围的转移(-128+127) ,后者的转移目标地址必须在与 AJMP 的下一条指令的第一字节相同的 2KB 区的程序储存器中。短转移 SJMP 方便 PC 可重定位编码,但转移范围小。而 ASJMP 转移范围大,但存在跳区的限制,AJMP 指令只有位于 2KB 区的最后 2 个字节处时,才可跳到下一个区去。因此用 AJMP 指令来代替 SJMP 指令是有条件的,也就是目标地址必须与它下面的指令存放地址在同一个 2KB 区域内。四、编程题1 编程将片内 RAM30H 单元开始的 15B 的数据传送到片外 RAM3000H 开始的单元中去。解:STRAT:MOV R0,#30HMOV R7,#0FHMOV DPTR,#3000HLOOP: MOV A,R0MOVX DPTR,AINC R0INC DPTRDJNZ R7,LOOPRET2 片内 RAM30H 开始的单元中有 10B 的二进制数,请编程求它们之和(和256 ) 解ADDIO:MOV R0,#30HMOV R7,#9MOV A,R0LOOP: INC R0ADD A,R0DJNZ R7,LOOPMOV 30H,ARET3 编一个程序,将累加器中的一个字符从串行接口发送出去解 SOUT:MOV SCON,#40H
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号