sorbet-种花用英语怎么说
第三章
1.在基址加变址寻址方式中,以
为基址寄存器。
答:A,PC,DPTR。
作为变址寄存器,以
或
作
2.指令格式是由
和
组成,也可仅由
答:操作码,操作数,操作码。
组成。
3.假定累加器 A 中的内容为 30H,执行指令
1000H
:
MOVC
A,@A+PC
后,把程序存储器
答:1031H。
单元的内容送入累加器 A 中。
4.在 AT89C51 单片机中,PC 和
DPTR 都用于提供地址,但 PC 是为访问
存储器提供地址,而 DPTR
是为访问
存储器提供地址。
答:程序,数据。
5.在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作
数,而是操作数的
。
答:地址。
6.已知程序执行前有(A) = 02H,(SP) = 52H,(51H) =
FFH,(52H) = FFH。下
述程序执行后,(A) =
,(SP) =
,(51H) =
,(52H) =
,(PC)
=
。
POP
DPH
POP
DPL
MOV
DPTR,#4000H
RL
A
MOV
B,A
MOVC
A,@A+DPTR
PUSH
Acc
MOV
A,B
INC
A
MOVC
A,@A+DPTR
PUSH
Acc
RET
ORG
4000H
DB
10H,80H,30H,50H,30H,50H
答:(
A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H。
7.假定(A) = 83H,(R0) = 17H,(17H) =
34H,执行以下指令后,(A) =
。
ANL
A,#17H
ORL
17H,A
XRL
A,@R0
CPL
A
答:(A)=0CBH。
8.假设(A) = 55H,(R3) =
0AAH,在执行指令“ANL
,(R3) =
。
答:(A)=00H,(R3)=0AAH。
A,R5”后,(A)
=
9.如果(DPTR) = 507BH,(SP) = 32H,(30H) =
50H,(31H) = 5FH,(32H)
= 3CH,则执行下列指令后,(DPH)
=
,(DPL) =
,(SP) =
。
POP
DPH
POP
DPL
POP
SP
答:(DPH)=3CH,(DPL)=5FH,(SP)=50H。
10.假定,(SP) = 60H,(A) = 30H,(B) =
70H,执行下列指令后,SP 的内容为
,61H 单元的内容为
,62H 单元的内容为
。
PUSH
Acc
PUSH
B
答:(SP)=62H,(61H)=30H,(62H)=70H。
11.判断下列说法
项是正确的。
A.立即寻址方式是被操作的数据本身就在指令中,而不是它的地址在指令中
B.指令周期是执行一条指令的时间
C.指令中直接给出的操作数称为直接寻址
答:A.对;B.对;
C.错。
12.判断以下指令的正误。
(1)MOV
28H,@R2
(2)DEC
DPTR
(3)INC
DPTR
(4)CLR
R0
(5)CPL
R5
(6)MOV
R0,R1
(7)PHSH
DPTR
(8)MOV
F0,C
(9)MOV
F0,Acc.3
(10)MOVX
A,@R1
(11)MOV
C,30H
(12)
RLC
R0
答:(1)错(2)错(3)对(4)错(5)错(6)错(7)错(8)对(9)
错(10)对 (11)对(12)错。
13.访问
SFR,可使用哪些寻址方式?
答:只能使用直接寻址方式。
14.下列程序段的功能是什么?
PUSH
Acc
PUSH
B
POP
Acc
POP
B
答:A 的内容与 B 的内容互换。
15.写出完成如下要求的指令,但是不能改变未涉及位的内容。
(
1
)把
A
CC
.3
,
A
CC
.4
,
A
CC
.5
和
A
CC
.6
清“
0
”。
(2)把累加器 A
的中间 4 位清“0”。
(
3
)使
A
CC
.2
和
A
CC
.3
置“
1
”
。
答:
(1)ANL
A,#87H
(2)ANL
A,#0C3H
(3)ORL
A,#0CH
16.借助本书中的表 3-2(指令表),对如下指令代码(十六进制)进行手工反
汇编。
FF
C0
E0
E5
F0
F0
答:
MOV
R7,A
PUSH
A
MOV
A ,B
MOVX
@DPTR,A
第四章
1.已知程序执行前有 A =
02H,SP = 42H,(41H) = FFH,(42H) = FFH。下述
程序执行后,A =
;SP =
;(41H) =
;(42H) =
;PC =
。
POP
DPH
POP
DPL
MOV
DPTR,#3000H
RL
A
MOV
B,A
MOVC
A,@A+DPTR
PUSH
Acc
MOV
A,B
INC
A
MOVC
A,@A+DPTR
PUSH
Acc
RET
ORG
3000H
DB
10H,80H,30H,80H,50H,80H
答:
A=80H,SP=40H,(51H)=50H,(52H)=80H ,PC=8050H。
2.说明伪指令的作用。“伪”的含义是什么?常用伪指令的功能如何?
答:伪指令不属于指令系统中的汇编语言指令,它是程序员发给汇编程序的
控制命令。只有在汇编前的源程序中才有伪指令。所以“伪”体现在汇编后,
伪指令没有相应的机器代码产生。
3.解释手工汇编、机器汇编、交叉汇编、反汇编术语概念。
答:(1)手工汇编:手工编程,首先把程序用助记符指令写出,然后通过
查指令的机器代码表,逐个把助记符指令“翻译”成机器代码,这种人工查
表“翻译”指令的方法称为手工汇编。
(2)机器汇编:是借助于微型计算机上的软件(汇编程序)来代替手工汇
编,完成把助记符指令“翻译”成机器代码的工作。
(3)交叉汇编:使用微型计算机来完成汇编,而汇编后得到的机器代码却
是在另一台计算机(这里是单片机)上运行,称这种机器汇编为交叉汇编。
(4)反汇编:将二进制的机器代码语言程序翻译成汇编语言源程序的过程。
4.下列程序段经汇编后,从 1000H 开始的各有关存储单元的内容是什么?
ORG
1000H
TAB1
EQU
1234H
TAB2
EQU
3000H
DB
DW
TAB1,TAB2,70H
答:4D
41
49
4E
12
34
30
00
00
70
5.设计子程序时应注意哪些问题?
答:在编写子程序时应注意以下问题。
(1)子程序的第一条指令前必须有标号。
(2)使用子程序调用指令时,有两条调用指令可供使用。
①使用绝对调用指令(ACALL
addr11)要注意,被调用的子程序的首
地址与本绝对调用指令的下一条指令的高 5 位地址相同,即只能在同一
2KB
程序存储区内。
②使用长调用指令(LCALL
addr16)时,addr16 为直接调用的子程序
的目标地址,也就是说,被调用的子程序可放置在 64KB 程序存储器区的任
意位置。
(3)子程序结构中必须用到堆栈,堆栈通常用来保护断点和现场保护。
(4)子程序返回主程序时,最后一条指令必须是 RET 指令。
(5)子程序可以嵌套,即主程序可以调用子程序,子程序又可以调用另外
的子程序。
6.试编写一个程序,将内部 RAM 中 45H
单元的高 4 位清“0”,低 4 位置“1”。
答:参考程序如下:
MOV
A,45H
ANL
A,#0FH
ORL
A,#0FH
MOV
45H,A
7.试编写程序,查找在内部 RAM 的
30H~50H 单元中是否有 0AAH 这一数据。
若有,则将 51H
单元置为“01H”;若未找到,则将 51H 单元置为“00H”。
答:参考程序如下:
START:
MOV
R0,#30H
MOV
R2,#20H
LOOP:
MOV
A,@R0
CJNE
A,#0AAH,NEXT
MOV
51H,#01H
LJMP
EXIT
NEXT:
INC
R0
DJNZ
R2,LOOP
MOV
51H,#00H
EXIT:
RET
8.试编写程序,查找在内部
RAM 的 20H~40H 单元中出现“00H”这一数据
的次数,并将查找到的结果存入 41H 单元。
答:参考程序如下:
START:MOV
41H,#0
MOV
R0,#20H
MOV
R2,#20H
LOOP: MOV
A,@R0
JNZ
NEXT
INC
41H
NEXT:
INC
R0
DJNZ
R2,LOOP
RET
9.在内部 RAM 的 21H
单元开始存有一组单字节无符号数,数据长度为 20H,
编写程序,要求找出最大数存入
MAX 单元。
答:略:
10.若 SP = 60H,标号
LABEL 所在的地址为 3456H。LCALL 指令的地址为
2000H,执行如下指令
2000H
LCALL
LABEL
后,堆栈指针 SP 和堆栈内容发生了哪些变化?PC
的值等于什么?如果将指令
LCALL 直接换成 ACALL 是否可以?如果换成
ACALL 指令,可调用的地址范
围是什么?
答:
(1)SP=SP+1=61H
(61H)=PC 的低字节=03H
SP=SP+1=62H
(62H)=PC 的高字节=20H
(2)PC=3456H
(3)可以
(4)2KB=2048
Byte
第 5 章
1.外部中断 1
的中断入口地址为
。
答:0013H;001BH。
。定时器 1 的中断入口地址为
2.若(IP) =
00010100B,则优先级最高者为
答:外部中断 1;定时器 T1。
,最低者为
。
3.AT89C51
单片机响应中断后,产生长调用指令 LCALL,执行该指令的过程
包括:首先把
的内容压入堆栈,以进行断点保护,然后把长调用指令
的 16 位地址送
,使程序执行转向
中的中断地址区。
答:PC、PC、程序存储器。
4.判断 AT89C51
单片机对外中断请求源响应的最快响应时间为 3 个机器周期
。
答:对。
5.下列说法正确的是
。
A.各中断源发出的中断请求信号,都会标记在 AT89C51 单片机的 IE 寄存器
中
B.各中断源发出的中断请求信号,都会标记在 AT89C51 单片机的
TMOD 寄
存器中
C.各中断源发出的中断请求信号,都会标记在
AT89C51 单片机的 IP 寄存器中
D.各中断源发出的中断请求信号,都会标记在
AT89C51 单片机的 TCON 与
SCON 寄存器中
答:D。
6.中断查询确认后,在下列各种 AT89C51
单片机运行情况下,能立即进行响
应的是
。
A.当前正在进行高优先级中断处理
B.当前正在执行 RETI 指令
C.当前指令是 DIV 指令,且正处于取指令的机器周期
D.当前指令是
MOV
A,R3
答:D。
7.在
AT89C51 单片机的中断请求源中,需要外加电路实现中断撤销的是
。
A.电平方式的外部中断
B.脉冲方式的外部中断
C.外部串行中断
D.定时中断
答:A。
8.下列说法正确的是
。
A.同一级别的中断请求按时间的先后顺序响应
B.同一时间同一级别的多中断请求将形成阻塞,系统无法响应
C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断
请求能中断低优先级中断请求
D.同级中断不能嵌套
答:A、C、D。
9.中断服务子程序与普通子程序有哪些相同和不同之处?
答:RETI
指令在返回时,同时清除中断系统中相应的优先级触发器,以允
许下次中断,而 RET
指令则没有这个操作。除了这一点两条指令不同外,
其他操作都相同。
10.AT89C51 单片机响应外部中断的典型时间是多少?在哪些情况下,CPU 将
推迟对外部中断请求的响应?
答:略。
11.编写外部中断 1 为跳沿触发的中断初始化程序段。
答:
SETB
IT1
SETB
EX1
SETB
EA
12.中断响应的条件是什么?
答:略。
13.某系统有 3 个外部中断源 1、2、3,当某一中断源发出的中断请求使
INT1
引脚变为低电平时(见图 5-10),便要求 CPU
进行处理,它们的优先处理
次序由高到低为
3、2、1,中断处理程序的入口地址分别为
1000H、1100H、1200H。试编写主程序及中断服务子程序(转至相应的中断处
理程序的入口即可)。
答:参见电路如图 5-10
所示,参考程序如下:
ORG
0000H
LJMP
MAIN
ORG
0013H
LJMP
INT_EX1
ORG
0030H
MAIN:
CLR
IT0
;采用电平触发,低电平有效中断
SETB
EX1
;允许外部中断 1
SETB
EA
WAIT:
LJMP
WAIT
;用原地跳转代替一段用户程序
;以下为外部中断 1
服务子程序
INT_EX1:
JNB
P1.2,NEXT1;P1.2=0,不是 3 号中断,跳转 NEXT1
LJMP
INT_IR3
;是 3
号中断,跳转到对应的中断处理程
序
NEXT1:
NEXT2:
INT_IR3:
INT_IR2:
INT_IR1:
JNB
P1.1,NEXT2;P1.1=0,不是 2 号中断,跳转 NEXT2
LJMP
INT_IR2
;跳转到 2
号中断处理程序
LJMP
INT_IR1
;跳转到
1 号中断处理程序
ORG
1000H
插入相应中断处理程序
RETI
;中断返回
ORG
1100H
插入相应中断处理程序
RETI
;中断返回
ORG
1200H
插入相应中断处理程序
RETI
;中断返回