最新精品文档,知识共享!
第二章作业(P40)
2-4 MCS-51单片机中执行程序的地址放在哪?由几个位组成?最大寻址范围是多少?
答:放在程序计数器PC中,16位,64KB。
2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义?
答: 0000H 复位后,PC=0000H,开始执行程序的地址
0003H 外部中断0 (INT0)入口地址
000BH 定时器0中断(TF0)入口地址
0013H 外部中断1(INT1) 入口地址
001BH 定时器1中断( TF1)入口地址
0023H 串行口中断TI/RI入口地址
2-10 开机复位以后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器?
答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。
第三章作业(P75)
3-7 指出指令中的50H或66H个代表什么?
解:
① MOV A, #50H 立即数
MOV A, 50H 直接地址
MOV 50H, #20H 直接地址
MOV C, 50H 位地址
MOV 50H, 20H 直接地址
② MOV @R0, #66H 立即数
MOV R6, #66H 立即数
MOV 66H, #45H 直接地址
MOV 66H, C 位地址
MOV 66H, R1 直接地址
3-9 写出能完成下列数据传送的指令:
解:
① R1中内容传送到R0;
MOV A, R1
MOV R0,A
② 内部RAM 20H单元中的内容送到30H单元;
MOV 30H, 20H
③ 外部RAM 20H单元中的内容送到内部RAM 20H单元;
MOV R0, #20H
MOVX A, @R0
MOV 20H, A
④ 外部RAM 2000H单元中的内容送到内部RAM 20H单元;
MOV DPTR, #2000H
MOVX A, @DPTR
MOV 20H, A
⑤ 外部ROM 2000H单元中的内容送到内部RAM 20H单元;
MOV DPTR, #2000H
MOV A, #00H
MOVC A, @A+DPTR
MOV 20H, A
⑥ 外部2000H单元中的内容送到外部RAM 3000H单元;
MOV DPTR, #2000H
MOVX A, @DPTR
MOV DPTR, #3000H
MOVX @DPTR, A
3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少?
① MOV SP, #70H ② MOV SP, #60H
PUSH 20H PUSH 22H
PUSH 21H PUSH 21H
PUSH 22H PUSH 20H
解:(73H)=Z;
(72H)=Y;
(71H)=X;
(63H)=X;
(62H)=Y;
(61H)=Z;
3-20 试编出能完成如下操作的程序:
解:
① 使20H单元中数的高两位变“0”,其余位不变;
ANL 20H, #3FH
② 使20H单元中数的高两位变“1”,其余位不变;
0RL 20H, #0C0H
③ 使20H单元中数的高两位变反,其余位不变;
XRL 20H, #0C0H
④ 使20H单元中数的高四位变“1”,低四位变“0”;
MOV 20H, #0F
⑤ 使20H单元中数的所有位变反。
XRL 20H, #0FFH
3-27 已知:外部RAM 2000H为始址的存储区有20个带符号补码数,请编一程序把正数和正零取出来放到内部RAM 20H为始址的存储区(负数和负零不作处理)。
解:
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV R0, #14H
MOV R1, #20H
MOV DPTR, #2000H
ROT: MOVX A, @DPTR
JB ACC.7, NEXT
原创力文档

文档评论(0)