当前位置:文档之家› 作业三答案

作业三答案


15题
ORG 4000H HOUR1:MOV R4,#60 HP:LCALL MIN DJNZ R4,HP RET MIN:MOV R3,#60 MP:LCALL SEC1S DJNZ R3,MP RET
SEC1S:MOV LP2: MOV LP1: MOV LP0: NOP NOP
R0,#100 ;送延时ls的常数 R1,#10 R2,#7DH ;送延时10ms的常数 ;送延时1ms的常数(内循环)
寻址方式
寻址空间
立即数寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址
程序存储器ROM 片内RAM低128B,特殊功能寄存器 工作寄存器R0~R7,A,B,C,DPTR 片内RAM低128B;[@R0,@R1,SP(仅PUSH,POP)] 片外RAM(@R0,@R1,@DPTR ) 程序存储器 (@A+DPTR),@A+PC) 程序存储器256B范围(PC+偏移量) 片内RAM的20H~2FH字节地址; 部分特殊功能寄存器
;内循环体
DJNZ R2,LP0 DJNZ R1, LP1 DJNZ R0, LP2 RET END ;循环控制
方法2
HOUR:MOV R4,#60; MIN:MOV R3,#60; SEC1S:MOV LP2: MOV LP1: MOV LP0: NOP NOP DJNZ R2,LP0 DJNZ R1, LP1 DJNZ R0, LP2 DJNZ R3,SEC1S DJNZ END R4,MIN ;循环控制 ;内循环体 R0,#100 ;送延时ls的常数 R1,#10 R2,#7DH ;送延时10ms的常数 ;送延时1ms的常数(内循环)
14、编程将片内20H单元开始的 30个数据传 送到片外RAM3000H开始的单元中。
ORG 4000H MOV R7,#30 MOV R0,#20H MOV DPTR,#3000H NEXT:MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,NEXT END
8、试说明指令CJNE @R1,#7AH,10H的作用,若本指令地址为4000H,其转移地址是多 少? 若(R1)=7AH,转移地址为PC=4003H 若(R1)><7AH,转移地址PC=4013H 9、编写控制程序使P1口的高4位和低4位的灯每隔1S循环交替点亮,晶振为6MHz。 ORG 4000H ST: MOV P1,#0FH ORG 0000H LCALL DELAY1S MOV P1,#0F0H LJMP ST LCALL DELAY1S ORG 0100H SJMP ST DELAY1S: MOV R0,#100 ;送延时ls的常数 ST: MOV A,#0FH LP2: MOV LP1: MOV LP0: NOP NOP DJNZ R2,LP0 DJNZ R1, LP1 DJNZ R0, LP2 RET END ;循环控制 ;内循环体 R1,#10 ;送延时10ms的常数 R2,#7DH ;送延时1ms的常数(内循环)
TT: MOV P1,A LCALL DELAY CPL A 或 SWAP A SJMP TT DEALY:(略) RET END
10、用位操作指令编写下面逻辑表达式值的程序。 (1) P1.7=ACC.7×(B.0+P2.1)+P3.2 (2) PSW.5=P1.3×ACC.2+B.5×P1.1 (3) P2.3=P1.5×B.4+ACC.7×P1.0 ORG 4000H MOV C,P1.3 ANL C,ACC.2 MOV P1.5,C MOV C,B.5 ANL C,P1.1 ORL C,P1.5 MOV PSW.5,C END ORG 4000H MOV C,P1.5 ANL C,B.4 MOV 30H,C MOV C,ACC.7 ANL C,P1.0 ORL C,30H MOV P2.3,C END
4、设R0的内容为32H,A的内容为48H,片内RAM的32H单元 内容为80H,40H单元内容为08H,请指出执行下列程序段后 上述各单元内容的变化。 MOV A,@R0 ;A=80H MOV @R0,40H ;(32H)=08H MOV 40H,A ;(40H)=80H MOV R0,#35H ;R0=35H 5、试编程将片外数据存储器60H中的内容传送到片内54H单元 中。 MOV R0,#60H MOVX A,@R0 MOV 54H,A 或 MOV R0,#60H MOVX A,@R0 MOV R1,#54H MOV @R1,A
ORG 4000H MOV C,B.0 ORL C,P2.1 ANL C,ACC.7 ORL C,P3.2 MOV P1.7,C END
11、使用位操作指令实现下列逻辑操作,但不得改变为 涉及位的内容。 (1)使ACC.0置1 (2)清除累加器A的高四位 (3)清除ACC.3、ACC.5、ACC.7 SETB ACC.0 或 SETB C MOV ACC.0,C (2) CLR ACC.7 CLR ACC.6 CLR ACC.5 CLR ACC.4 (3) CLR ACC.3 CLR ACC.5 CLR ACC.7
作业答案
3 已知(30H)=38H,(38H)=40H,(40H)=48H, (48H) =90H MOV A,40H; A=48H MOV R0,A ; R0=48H MOV P1,#0F0H; P1=0F0H MOV @R0,30H; (48H)=38H MOV DPTR,#1246H; DPTR=1246 MOV 40H,38H ; (40H)=40H MOV R0,30H ;R0=38H MOV 90H,R0 ;(90H)=38H MOV 48H,#30H ;(48H)=30H MOV A,@R0 ;A=40H MOV P2,P1 ;P2=38H
6、请用两种方法实现累加器A与寄存器B的内容交换。 XCH A,B 或 PUSH ACC PUSH B POP ACC POP B 7、已知A=83H,R0=17H,(17H)=34H,请写出下列程序执行 后,A的内容。 ANL A, #17H; A=03H ORL 17H, A; A=03H XRL A,R0;A=14H CPL A; A=0EBH MOV R1,A MOV A,B MOV B,R1 或 MOV R1,B XCH A,R1 MOV B,R1
13、下列程序汇编后,从1000H单元开始的各存储器单元的 内容将是什么? ORG 1000H TAB1 EQU 1234H (1000H):12H TAB2 EQU 3000H DW TAB1,TAB2,7000H (1001H) :34H (1002H):30H (1003H ):00H (1004H):70H (1005H ):00H
17.试编一查表程序,从首地址为2000H,长度为10H的数据表中,查 找出A的ASCII码,将其地址存入2010H和2011H单元中
ORG 0000H LJMP ST ORG 0100H ST: MOV DPTR,#2000H MOV R0,#0 NEXT:MOV A,R0 MOVC A,@A+DPTR CJNE A,#41H,LP MOV A,R0 MOV DPTR,#2010H MOVX @DPTR,A INC DPTR MOV A,#20H MOVX @DPTR,A LJMP ED LP: INC R0 CJNE R0,#11H,NEXT ED:SJMP ED ORG 2000H DB 44,32,33H,22,11,45H,44,45,66,77,42H,41H,43,55,99,0,0 END
相关主题