第三章 MCS-51指令系统习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 MCS -51指令系统
5 题 分析下面程序段的执行功能。
CLR A
MOV R2, A
MOV R7, #4
LOOP: CLR C
MOV A, R0
RLC A
MOV R0, A
MOV A, R1
RLC A
MOV R1, A
MOV A, R2
RLC A
MOV R2, A
DJNZ R7, LO OP
SJMP $ 答:将R2:R1:R0所表示的24位二进制数左移4位。(相当×16)
6 题 设系统晶振为12MHZ ,阅读下列程序,分析其功能。
START : SETB P1.0
NEXT: MOV 30H, #10
LOOP2: MOV 31H, #0FAH
LOOP1: NOP
NOP
DJNZ 31H, LOOP1
DJNZ 30H, LOOP2
CPL P1.0
AJMP NEXT
SJMP $
答:((2+1+1)*250+2+2)*10+2=10.042(ms) 在P1.0引脚上输出周期为20ms
的方波。
7 题 阅读下列程序,分析其功能。
MOV R7, #10
MOV A, #30H
MOV DPTR, #2000H
LOOP : MOVX @DPTR, A
INC A
INC DPL
DJNZ R7, LOOP
SJMP
$
R2 R1
R0 0 0 0 0
答:在外部数据存储器中的以下地址内存放数据:
(2000H)=30H
(2001H)=31H
(2002H)=32H
┇┇
(2009H)=39H
8 题简述下列程序段完成的功能,程序完成后SP指针应指向哪里?
MOV SP, #2FH
MOV DPTR, #2000H
MOV R7, #50H
NEXT: MOVX A, @DPTR
PUSH A
INC DPL
DJNZ R7, NEXT
SJMP $
答:以内部存储器地址30H作为栈底,从30H开始一直到7FH依次存放外部数据存储器中2000H一直到204FH地址中的数据。7FH作为栈顶。程序完成后SP=7FH。
9 题分析下列程序段执行结果,程序执行完后,SP指向哪里?
MOV SP, #3FH
MOV R0, #40H
MOV R7, #10H
NEXT: POP A
MOV @R0, A
DEC R0
DJNZ R7, NEXT
SJMP $
答:将栈中3FH,3EH一直到30H地址中的内容依次放入40H,3FH,…,31H单元中。执行完后SP=2FH。
10 题分析下列程序段执行结果。
XCH A, 30H
MOV B, A
ANL A, #0FH
MOV 33H, A
MOV A, B
SW AP A
ANL A, #15
MOV 34H, A
SJMP $
答:将30H单元中的数的高四位放入34H中,低四位放入33H中。
14 题阅读(1)(2)(3)程序段,分析其功能。运算结果存在哪里?
(1) MOV A, R2
ADD A, R0
MOV 30H, A
MOV A, R3
ADDC A, R1
MOV 31H, A
MOV A, #0
ADDC A, #0
MOV 32H, A
SJMP $
(2) CLR C
MOV A, R4
SUBB A, R2
MOV R0, A
MOV A, R5
SUBB A, R3
MOV R1, A
(3) MOV A, R1
MOV B, R0
MUL AB
MOV 30H, A
MOV 31H, B
MOV A, R2
MOV B, R0
MUL AB
ADD A, 31H
MOV 31H, A
MOV A, B
ADDC A, #0
MOV 32H, A
SJMP $
答:(1)将R3:R2和R1:R0中的两个16位数相加,结果存放在32H:31H:30H中。
(2)用R5:R4中的16位数减去R3:R2中16位数,结果存放在R1:R0中。
(3)R2:R1中的16位数乘以R0中的数,结果存放在32H:31H:30H中。
23 题有四个变量U、V、W、X分别从P1.0~P1.3输入,阅读如下程序,写出逻辑表达式并画出逻辑电路图。请使用ORG、END、BIT等伪指令重新编写该程序段。
MOV P1, #0FH
MOV C, P1.0
ANL C, P1.1
CPL C
MOV ACC.0, C
MOV C, P1.2
ORL C, /P1.3
ORL C, ACC.0
MOV F, C
SJMP $
答:电路图如下:
逻辑表达式:
重新整理编写程序如下:
ORG 0000H
U BIT P1.0
V BIT P1.1
W BIT P1.2
X BIT P1.3
MOV C, U
ANL C, V
CPL C
MOV ACC.0, C
MOV C, W
ORL C, /X
ORL C, ACC.0
MOV F, C
SJMP $
END