当前位置:首页 > 微机原理课后习题及答案
方式(以R0、R1或SP为指针);借助于两种不同的寻址方式,可以将在地址上重合(80H~0FFH)的SFR和内部RAM高128字节单元的两部分空间加以区分。
3-4 51系列单片机有哪些标志位?这些标志位存放在哪里? 答:51单片机在程序运行时通常需要一下标志位:
Cy,AC,OV,P,RS1,RS0,它们都存放在特殊功能寄存器PSW(程序状态字寄存器)中。
3-5 分析下列各指令的操作数,指出它们的寻址方式。
MOV R4, 38H ADD A, @R1
;寄存器寻址,直接寻址 ;寄存器寻址,寄存器间接寻址
;寄存器寻址,变址寻址(又称基址寄
MOVC A, @A+DPTR 存器加变址寄存器间接寻址)
MOVX A, @DPTR DEC B
;寄存器寻址,寄存器间接寻址 ;直接寻址
;位寻址(直接寻址的一种,只是给出的
SETB 24H
直接地址是位地址)
CJNE A, #100, NEXT ANL 30H, #00H PUSH P1
;寄存器寻址,立即寻址,相对寻址
;直接寻址,立即寻址
;寄存器间接寻址(指针为SP,只是在堆栈
操作指令中省略了),直接寻址
9
堆栈操作除了用PUSH和POP指令,完全可以用其它指令来完成,举例如下:
PUSH P1 可用下列程序段完成 INC SP MOV R0, SP MOV @R0, P1 POP P1 可用下列程序段完成 MOV R0, SP MOV P1, @R0 DEC SP
提示:上题答案中按操作数先后顺序给出其对应的寻址方式。
10
3-6 下列各指令或指令组执行前有关寄存器和存储器的状态如下表,要求分析各指令或指令组执行后有关寄存器、存储器和标志位的状态。
内部数据存储器和特殊功能外部数据存储程序存储器 寄存器 器 寄存内容 单元内容 单元地内容 单元地内容 程序计数器器名 B ACC PSW 64H 03H 80H 地址 73H 72H 71H 10H 11H 00H 址 900BH 12H 900AH 83H 9009H 址 1206H 1205H 35H 34H 33H 内容 (PC)=1200H 标号及标号值 DPL DPH SP R0 R1 R2 R3 R4 R5 R6 R7 P0
D1H 1204H 05H 90H 71H 00H 36H 35H 70H 36H 35H 34H 33H 80H F8H 9008H 9007H 9006H 79H 0CH 23H 13H 1203H 1201H 1200H 32H 31H 30H NEXT1=0800H NEXT2=0900H NEXT3=1280H LOOP=1148H 2BH 9005H 36H 74H 59H 66H 55H 44H 11
9004H 9003H 9002H 9001H 9000H 4DH 2EH 7FH 54H 38H B7H 32H 03H F6H E4H 21H 26H 25H 24H 7CH P2
90H 提示:在上表中需注意几点:(PSW)=80H,即Cy=1, AC=0, RS1=RS0=0(故当前工作寄存器区为0区)。工作寄存器区为0区时,R0~R7指向内部数据存储器的00H~07H,所以当指令中出现直接地址00H~07H中的某个时,其初始条件即为R0~R7中某个对应的寄存器的值。另,因为(DPH)=90H, (DPL)=05H, 所以(DPTR)=9005H。标号值实质上是代表标号所在处的指令在程序存储器中的地址,标号往往出现在程序转移指令中,指出转移指令的目标地址。
1) MOV R0,#32;
(R0)=32=20H (25H)= 0F8H (A)= (A)= (A)=
13H 38H 33H P=1 P=1 P=0
2) MOV 25H,@R1; 3) MOVX A,@DPTR; 4) MOVX A,@R0; 5) MOVC A,@A+PC; 6) MOV A,04H; 7) XCH A,34H;
(A)= (A)=
03H 36H
P=0 (34H)= 03H
(36H)=0F3H
8) XCHD A,@R1; 9) PUSH DPL; 10) POP DPH; 11) SUBB A,R1;
AC=1
(A)= 08H
(SP)=72H (72H)=05H (DPH)=00H(SP)=70H (A)=
0CCH Cy=1
P=0
OV=0 (A)=
0E7H Cy=0
12
12) ADD A,R6;
P=0
共分享92篇相关文档