习题(指令与编程及答案)
更新时间:2023-12-10 15:05:01 阅读量: 教育文库 文档下载
- m99指令编程推荐度:
- 相关推荐
指令与编程及答案
一.单项选择题 1. ORG 0003H
LJMP 2000H ORG 000BH LJMP 3000H
2. 当CPU响应外部中断0后,PC的值是( A )。 A.0003H B. 2000H C. 000BH D. 3000H 3. MCS-51的相对转移指令的最大负跳距离为( B )。 A.2KB B. 128B C.127B D. 256B
4. 以下运算中对溢出标志0V没有影响或不受影响的运算是( )。 A.逻辑运算 B. 符号数加减运算 C. 比较数据大小运算 D. 除法运算 5. 产生PSEN信号的指令是 ( C )。
A . MOVX A ,@DPTR B. MOVX @DPTR, A C. MOVC A , @A+PC D. MOVX A, @A+DPTR 6. MOVX A , @DPTR指令中的源操作数的寻址方式是( B )。 A.寄存器寻址 B.寄存器间接寻址 C.直接寻址 D.立即寻址 7. 将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 8. 指令AJMP的跳转范围是( )。
A .256B B.1KB C.2KB D.64KB 9. 6264芯片是( )。
A.E2PROM B.RAM C .Flash
ROM D .EPROM
10. 下面那条指令产生WR信号( D )。
A.MOVX A , @DPTR B.MOVC A , @A+DPTR C.MOVC A , @A+PC D.MOVX @DPTR , A
11. 执行LCALL 4000H指令时,MCS-51所完成的操作是( D )。 A.保护PC B.保护现场
C.4000H ?PC D.PC+3入栈,4000H ? PC
1
12. 下列指令中可能改变Cy的有( )。
A.INC A B.CPL A C. RLC A D.MOV A , #data
13. 假定设置堆栈指针SP的值为36H,在执行指令PUSH 20H后,SP的值为( B )。 A.36H B.37H C. 38H D.21H 14. 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 15. MOV C, 00H 指令的第二操作数寻址方式是( A )。 A.位寻址 B. 直接寻址 C. 立即寻址 D. 寄存器寻址 16. 在算术运算中,与辅助进位AC有关的是( C )。 A.二进制 B. 八进制 C. 十进制 D. 十六进制 17. 把P0口高四位变0,低四位不变,应使用指令( D )。 A. ORL P0,#0FH B. ORL P0,#0F0H C.ANL P0,#0F0H D. ANL P0, #0FH 18 ORG 0000H AJMP 0040H ORG 0040H MOV SP, #00H
当执行完上面的程序后,PC的值是( C )。 A.0040H B. 0041H C. 0042H D. 0043H 19. 在相对寻址方式中,“相对”两字是指跳转( )。 A.地址偏移量rel B. 当前指令的首地址 C.当前指令的末地址 D. DPTR值
20. 使用8051,且EA=1,则可以外扩ROM( B )。 A. 64KB B. 60KB C. 58KB D. 56KB
21. 已知(31H)=21H,(32H)=04H,执行下列指令后,31H的内容为(PUSH 31H PUSH 32H POP 31H
B )。
2
POP 32H
A.21H B. 04H C. 32H D. 31H
22. 已知(A)=00H,执行DEC A指令后,A 的内容为( B ) A.00H B. FFH C. 01H D. 0FH
23. 要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是 ( B )。
A. MOV B. MOVX C. MOVC D. 以上都行
24. LCALL存于2000H开始的地址单元中,执行完相应子程序中的返回指 ( D )。
A.2000H B. 2001H C. 2002H D. 2003H 25. 程序设计的方法一般有( D )
A.1种 B. 2种 C. 3种 D. 4种 26. 在寄存器间接寻址方式中,指定寄存器中存放的是( ) A. 操作数 B. 操作数地址 C. 转移指令 D. 地址偏移量 27. 当8031外扩程序存储器8KB时,常使用EPROM2716( ) A. 2片 B. 3片 C. 4片 D. 5片 28. 中断服务程序的最后一条指令必须是( C ) A. END B. RET C. RETI D. AJMP 29. ADC0809启动A/D转换的方式是( D )
A. 高电平 B. 低电平 C. 正脉冲 D. 负脉冲 30. MOV C, 30H源操作数寻址方式为( D )
A. 立即寻址 B. 寄存器寻址 C. 寄存器间接寻址 D. 位寻址
31. POP A 指令,MCS-51完成的操作是( A ) A. A←((SP)) SP←(SP)-1 B. SP←(SP)-1 A←((SP)) C. A←((SP)) SP←(SP)+1 D. SP←(SP)+1 A←((SP))
32. 当(RS1,RS0)=(1,1)时,工作寄存器R0对应内部RAM的( D 字节单元。
A. 00H B. 08H C. 10H D. 18H
33. 在R3初值为00H的情况下,DJNZ R3, rel指令将循环执行( ) A. 0次 B. 256次 C. 128次 D. 10次
令,PC=
) 3
34. 执行AJMP addr11指令时,MCS-51完成的操作是( ) A. 保护PC B. PC←addr11
C. 保护现场 D. PC+2入栈 PC0~10 ←addr11 35. ORG 2000H
LCALL 3000H ORG 3000H RET
上面程序执行完RET指令后,(PC)=( C )。 A. 2000H B. 3000H C. 2003H D. 3003H
36. MCS-51执行完MOV A, #08H后,PSW的( )位被置位。 A. C B.F0 C. 0V D. P
37. MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是( A A. 读锁存器 B. 读数据 C. 读A累加器 D. 读CPU 38. 对程序存储器的读操作,只能使用( D )。
A. MOV指令 B. PUSH指令 C. MOVX指令 D. MOVC指令 39.ORG 8000H
DS 08H DB 30H, 8AH
则8008H单元内容为( B )。
A. 08H B. 30H C. 8AH D. 不确定 40. MOV @R0, A指令目标操作数的寻址方式是( A )。
A. 寄存器间接寻址 B. 寄存器寻址 C. 直接寻址 D. 相对寻址 41. 已知(60H)=23H, (61H)=61H,运行下列程序62H内容为( A )。 CLR C MOV A, #9AH SUBB A,60H ADD A, 61H DA A
MOV 62H, A
A. 38H B. D8H C. DBH D. 3EH
。4
)
42. 设系统的晶振频率为6MHZ,下列子程序DELAY的延时时间约为( )。 DELAY: MOV R2, #0FAH L2: DJNZ R2, L2 RET
A. 900μS B. 1006μS C. 500us D. 5.501us 43. MCS-51的LJMP指令跳转空间为( )。
A. 2K B. –128~127 C. 64K D. 32K 44. 关于MCS-51的堆栈操作,正确的说法是( )。 A. 先入栈,再修改栈指针 B. 先修改栈指针,再出栈 C. 先修改栈指针,再入栈 D. 以上都不对 45. JNZ rel指令的寻址方式是( )。
A. 立即寻址 B. 寄存器寻址 C. 相对寻址 D. 位寻址
46 . 8051执行ADD A, 20H指令时,首先在P0口上出现的信息是( )。 A. 操作码地址 B. 操作码 C. 操作数 D. 操作数地址 47. 必须进行十进制调整的十进制运算( )。
A. 有加法和减法 B. 有乘法和除法 C. 只有加法 D. 只有减法 48. 执行MOVX @DPTR, A指令时,MCS-51产生( )控制信号。 A.
PSEN B.
WR C. ALE D.
RD
49. 已知单片机系统的fosc=6MHZ,执行下列延时程序的时间为( )。
DY2: MOV R6, #2 DLP1: MOV R7, #250 DLP2: DJNZ R7, DLP2 DJNZ R6, DLP1
RET
A.1ms B. 1.5ms C. 2ms D. 4ms
二.填空题(每小题1 分,共 15分
1. 执行ANL A, #0FH指令后,累加器A的高四位= 。
2. 设DPTR=(2000)H,(A)=08H,则MOVC A, @A+DPTR的操作数的实际地址为 。
5
SETB 00H ; 此句完成______功能 ANL C,00H ; (C)=______
ADD A, R0 ; 寻址方式=__________, (A)=__________
答案:FEH,00H,位地址为00H的单元置1。
0, 寄存器寻址,FEH
7. START: MOV A, 40H
MOV DPTR, #TAB MOVC A, @A+DPTR MOV 40H, A RET
TAB DB 30H, 31H, 32H, 33H, 34H DB 35H, 36H, 37H, 38H, 39H 假设40H单元中的数的范围从0—9,问: (1)这段程序完成什么功能?
(2)当执行程序前40H中的内容为6,问执行完这段程序后40H中的内容为_________。 (3) MOVC A,@A+DPTR中的寻址方式是 。(10分) 答案 :(1)这段程序完成了通过查表得到40H单元的数的ASCII码,并将结果返回40H单元。
(2)36H
(3)基址+变址的寻址方式
8. ADD3: MOV A, R5
ADD A, R2 MOV @R0 , A INC R0 MOV A, R6 ADDC A, R3 MOV @R0, A INC R0 MOV A, R7 ADDC A, R4
11
MOV @R0, A RET (1)程序完成什么功能?
(2)假设执行程序前R0=30H,程序执行结束后30H, 31H, 32H中的内容为___________,
其中_________H中存放高字节
(3)执行结束后,CY的内容为 。(10分) 答案 :①程序完成了两个3字节数的求和。
加数(1)在R7 R6 R5中, 加数(2)在R4 R3 R2 ②三个字节中和, 32H。 ③三字节和最高位的进位位。
9. 设(A)=5AH,(R1)=30H, (30H)=E0H,(CY)=1,根据程序填空。(6分)SWAP A ; (A)=_______ ADD A, #30H ; 寻址方式________ ADDC A, 30H ; (A)=______,寻址方式____ RLC A ; (A)=______ ANL A, 30H ; (A)=______
答案:A5H 立即数寻址 B5H,直接寻址 6BH
60H
10. ADDIO: MOV R0, 30H MOV R7, #9 MOV A, @R0 LOOP: INC R0 ADD A, @R0 DJNZ R7, LOOP MOV 30H, A RET
(1) 程序完成的是什么功能?
(2) 若把MOV R7,#9改成MOV R7, #4,程序功能有何变化?(10分)
12
答案 :(1)将片内RAM从30H—39H十个单元中的内容相加,和 存在30H中。 (2)不是10个数相加,是30—34H五个数相加。
11. LOOK:MOV 51H,#0 MOV R0,#30H MOV R1, #20H
LOP: MOV A,@R0 CPL A
JNZ LP1 INC 51H LP1: INC R0
DJNZ R1, LOP
RET
(1)R0的作用是什么?
(2)程序结束后51H单元中存放的内容是什么?
(3)若将 JNZ LP1这句变成JZ LP1,程序完成什么功能?(10分) 答案 :(1)数据单元指针。
(2)片内RAM30H—50H单元中内容为FFH单元的个数。
(3)将片内RAM30H—50H单元中内容为非FFH单元的总个数送给51H。
12. 设内RAM (20H)=11001011B, (24H)=01010111B,求依次执行下列 指令后的结果。(6分) LOOP: JB 00H, LP1 ;
JB 26H, LP2 ; 程序跳转到LP1还是LP2?答________ Lp1: MOV A, 20H ; (A)=_____ , 寻址方式是______ CPL A (A)= ______ ADD A, 24H (A)= ______
JZ LP3 ; 执行完此句后,程序跳到LP3还是LP2处? LP2: INC 20H LP3: ┋ 答案: Lp1
11001011B, 直接寻址
13
00110100B 10001011B
Lp2
13. ORG 2000H TAB: DB 01, 02 DW 03, 04 DS 03H ORG 2200H
MOV DPTR, #TAB MOV A, #02H MOVC A, @A+DPTR
问: (1)请填入存储器2000H~2008H单元的内容。 (2)执行完程序后A中的内容为________。 (3)DPTR是一个______字节的寄存器。(10分)答案 :
2000H 01H 02H 00H 03H 00H 04H 00H 00H 00H
(2)(A)=00H (3)2
14. START: MOV DPTR, #2010 H
MOV R7, #10H
14
MOV R0, #30H
LOOP: MOVX A, @DPTR MOV @R0, A DEC DPTR INC R0 DJNZ R7, LOOP RET
(1) 程序完成什么功能?
(2) MOVX A, @DPTR这句指令是什么寻址方式? (3) DJNZ R7, LOOP 这句指令的含义?(10分) 答案 :
(1)程序完成将片外RAM2010H单元—2001H单元的内容,依次传送到片内RAM30H—3FH单元中去。
(2)寄存器间接寻址。
(3)判断(R7)-1 是否为0,若为0,结束循环,不为0继续到LOOP那儿循环。
15. 若(A)=78H,(R0)=34H,(34H)=DCH,(56H)=ABH,(cy)=1, 求分别执行下列指令后填空。(6分)
ADDC A,@R0 ; (A)=_______________, 寻址方式是________________ ORL A, #23H ; (A)=_______________,
; 寻址方式是_______________
MOV A, 34H ; (A)=_______________ SWAP A ; (A)=_______________ 答案: 55H, 寄存器间接寻址 77H, 立即寻址 DCH, CDH.
16. MOV A, R0
CPL A JZ LABEL1 INC A JZ LABEL2
15
LABEL1: INC A
SJMP LOOP LABEL2: DEC A
LOOP: RET
问:(1)分析上面一段程序,何时转向LABEL1?何时转向LABEL2? (2)若(R0)=FFH,执行完程序后(A)=_______________H。(10分) 答案 :(1) 当R0 的值为FFH,转向LABEL1,当R0 为00时,转向LABLE2 (2)01H
17. START: MOV R0, #40H MOV R7, #09H MOV A, @R0 LOOP: INC R0
MOV 30H, @R0 CJNE A, 30H, NEXT NEXT: JNC BIEI MOV A, 30H BIEI: DJNZ R7, LOOP MOV 50H, A RET
问:(1)A中暂放_________________。
(2)R7寄存器中保存的数是_________________。
(3)最后50H中存放的是___________________。(10分) (1)最大
(2)比较的次数,共有9个数与A中的数做比较 (3) 片内RAM 40H~49H中最大的值
18. 已知外RAM(2040H)=50H,ROM(2090H)=96H,内RAM(20H)=85H,试求下列程序依次运行后有关单元的内容。(6分)
MOV DPTR , #2040H ; (DPTR)=_______________
MOVX A, @DPTR ; 寻址方式是_____________,(A)=_____________ MOV A, 20H ; (A)=______________
16
ANL A, #38H ; (A)=_______________,寻址方式是____________ 答案: 2040H
寄存器间址, 50H 85H
00H 立即寻址
19. CLR C
LOOP1: MOV A, @R0
ADDC A, @R1 DA A
MOV @R0, A INC R0 INC R1 DJNZ R7, LOOP1 CLR A MOV ACC.0, C MOV @R0, A RET
问:(1)DAA指令有何用途?
(2)若执行程序前(R0)=20H,(R1)=30H,(R7)=03H,则程序完成什么功能?程序最后
的结果放在哪些单元?(10分)
答案 :(1) DAA是对A中的数进行十进制数的调整。
(2) 将存放在 (22H) (21H) (20H)中的 BCD码与 (32) (31H)(30H) 单元中的BCD码相加,结果调整为BCD码后放回(23H)
(22H)(21H)(20H)单元中,其中高地址存放高位字节。
20. MOV R0, #20H SLOP: MOV A, @R0
JZ LP1
JB ACC.7, LP2 INC 30H LP0: INC R0
17
DJNZ 1FH, SLOP END LP1: INC 31H SJMP LP0 LP2: INC 32H SJMP LP0
问:(1)若执行前(20H)单元中的内容为F1H,则程序能不能走到LP1处? (2)执行前1FH单元中存放的是什么?
(3)执行后30H,31H,32H单元中各存放的什么数据?(10分) (1) 不能
(2)参加统计的数的个数 (3) 30H中放正数的个数 31H中放“0”的个数 32H中放负数的个数
21. 已知(30H)=58H,读程序填空。(6分) CLR C
MOV A, 30H; 寻址方式是______, (A)=______ RLC A
RLC A ; (C)=_______
ADD A, #36H ; 寻址方式是_______,(A)=_______ JZ LOOP2 ; 程序转至LOOP1还是LOOP2?答_______ Loop1: MOV A, 00H
直接寻址, 58H
1
立即寻址, 96H LOOP1
22. (30H)=15H,问执行完程序后,A,B,SP,32H,33H ,34H的内容是多少?( MOV SP, #30H XCH A, 30H MOV B, A
10分)18
ANL A, #0FH MOV 33H, A MOV A, B PUSH A SWAP A ANL A, #15H MOV 34H, A PUSH A
答案 : (A)=11H (B)=15H (SP)=32H (32H)=11H (33H)=05H (34H)=11H
23. 内部RAM30H,31H单元中存放两个无符号数,读程序回答问题。(10分) ORG 1000H START: CLR C MOV A, 30H SUBB A, 31H JC NEXT MOV A, 30H XCH A, 31H MOV 30H, A NEXT: NOP SJMP $ END
(1) 程序完成什么功能?
(2) 若(30H)=89H,(31H)=F5H,执行程序后(30H)=____________, (31H)=_ __________,(Cy)=___________。
19
答案 :(1) 比较30H与31H中无符号数的大小,小数存于30H,大数存于31H (2) (30H)=89H, (31H)=F5H, (Cy)=1
四、编程题
1.编写程序,将外部RAM2000H-201FH数据块数据,传送到片内RAM40H-5FH的对应单元中,并统计其中数据‘0’的个数,将结果放入片内60H单元中。 答案 :START: MOV DPTR,#2000H
MOV R0,#40H MOV R1, #1FH
MOV R2,#00H
LOOP: MOVX A,@DPTR
MOV @R0, A INC DPTR INC R0
CJNE A, #00H, LOOP1 INC R2
LOOP1: DJNZ R1, LOOP
MOV 60H, R2 RET
2. 已知8位要显示数字已存放在首地址为30H的片内RAM中,试将其转换为共阴显示字段码,存入首址为40H的内RAM中,已知TABD为0-9共阴字段码表首址。 ORG 1000H
TABD:DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
答案 :MOV DPTR,#TABD MOV R2,#8
MOV R0,#30H
MOV R1,#40H LOOP:MOV A,@R0
MOVC A,@A+DPTR MOV @R1,A INC DPTR INC R0 INC R1 DJNZ R7,LOOP
END
20
3. 试完成程序,求Y值,设m, n存在30H和31H中,Y存在32H中,且m?n积小于256,m/n的商为整数。
m?n (m
答案 : MOV A,30H
4. 求出片外RAM3000H——300FH,这16个单元数据的平均数,并将平均值放入片外
RAM3010H单元中,余数放入3011H单元中(设16个数的和小于256)。 答案 :
MOV DPTR,#3000H MOV R0,10H
MOV B,31H
CJNE A,B,LOOP1 MOV 32H,#00H LJMP BB
LOOP1: JC LOOP2 DIV AB MOV 32H,A LJMP BB LOOP2: MUL AB
MOV 32H,A
BB: END
MOV B,#00H
LOOP: MOVX A,@DPTR ADD A,B
MOV B, A INC DPTR DJNZ R0,LOOP MOV A,B MOV B,#16 DIV AB
MOV DPTR,#3010H MOVX @DPTR,A
INC DPTR MOV A, B
MOVX @DPTR,A
21
END
5. 设X由 P1口输入,Y存在外部RAM2000H单元,试按下列要求编制程序(设X?256)
X2 ; 当X ? 10时
2
Y= 2X ; 当10 ? X ? 100时
X/2 ; 当X ? 100时 答案 :MOV A, P1
CJNE A, #10, LOOP1
LOOP1: JNC LOOP2 MOV B, A MUL AB
LJMP LOOP5 LOOP2: CJNE A, #101, LOOP3 LOOP3: JNC LOOP4 MOV B, A ADD A, B LJMP LOOP5 LOOP4: MOV B, #2 DIV A, B
LOOP5: MOV DPTR, #2000H MOV @DPTR, A END
6. 片内RAM区中,有 20个补码表示的数存放在首地址为30H的单元中,请编程把其中的正数送到20H为首址的片外RAM中,负数不传送(0不是正数)。 答案 : MOV R0,#30H
MOV R1, #20H
MOV R7,#20
LOOP: MOV A,@R0
JZ NEXT
JB ACC.7,NEXT MOVX @R1,A
INC R1
NEXT: INC R0
DJNZ R7, LOOP END
7. 将61H和60H两个单元中的ASCII码转换为16进制数,并合并为一个字节存在70H单元中(60H中放的是低位)。 答案 : MOV A, 60H
ANL A, #0FH
22
MOV B, A MOV A, 61H ANL A, #0FH SWAP A
ADD A, B MOV 70H,A
END
8. 设在内部数据存储器中存放有20个字节数据,其起始地址为30H,其中可能有一个字节的内容为0AH,编写程序找出数0AH的存放地址,并送入2FH单元,若0AH不存在,则将29H单元置0。
MOV R0, #30
MOV R1, #20 LOOP: MOV A, @R0
CJNZ A, #0AH, LOOP1 AJMP JIESHU LOOP1: INC R0 DJNZ R1, LOOP MOV 29H, #00H AJMP LOOP4 JIESHU: MOV 2FH, R0 LOOP4: END
23
正在阅读:
习题(指令与编程及答案)12-10
预防和制止家庭暴力的法律思考04-15
喀蔚波04章习题解答04-10
高速公路养护专业人员考试题库09-10
中鼎科技车载GPS定位监控简介05-22
2016-2022年中国轮胎翻新产业发展态势及未来前景分析报告08-10
驾驶台仪器使用说明05-20
家乡的紫云公园作文400字07-09
车站小学留守儿童之家建设和管理办法11-30
临床外科学试题参考04-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 习题
- 指令
- 答案
- 编程
- 学前教育学作业及答案
- 货币银行学习题集
- 浅谈家长式领导
- 行列式习题答案
- 国际贸易实务复习提纲
- 刑法练习题集前十章
- 第十章 双样本假设检验及区间估计练习题
- 3500常用字(带拼音)
- 2007年山东省聊城市普通高中招生统一考试数学试卷及参考答案
- 《交通运输法》自学指导书答案 2010.10.30
- 网页设计课程的教学反思
- 新课改下小学数学作业设计的实践与研究-2019年精选教育文档
- 2015--2016满洲里市小学数学一年级第一学期期末检测试题
- 法理学考试题
- 留学知识-马来西亚准留学生注意!留学租房要避免哪些坑 精品
- 病理生理学选择题
- 大气试题库(有答案)
- 2012年度全国金融企业财务决算报表软件操作流程 - 图文
- 纸箱相关知识
- 现代学校心理辅导