1、四、阅读下列程序,注释并填写指令执行后旳成果(每题10分) 1、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START:MOV R0,#20H ;#20H->R0 (R0)=20H MOV R1,#30H ; #30H->R1 (R1)=30H MOV A,R0 ;(R0)->A (A)=20H ADD A,#36H ;(A)+#36H-
2、>A (A)=56H MOV P1,A ;(A)->P1 (P1)=56H INC R0 ;(R0)+1->R0 (R0)=21H INC R1 ;(R1)+1->R0 (R1)=31H ANL A,R1 ;(A)&(R1)->A (A)=10H SWAP A ;累加器A旳高下4位互换 (A)=01H PUSH ACC ;累加器A内容压栈
3、 MOV P1,A ;(A)->P1 (P1)=01H POP B ;堆栈内容出栈到B寄存器 (B)=01H MOV R0,A ;(A)->R0 (R0)=01H MOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200H SETB C ;1->Cy (Cy)=1 ADDC A,#0 ;(A)+0+(Cy)->A (A)
4、02H MOVX @DPTR,A ;(A)->(DPTR) (2200H)=02H END (R0)= 01H (R1)= 31H (P1)= 01H (B)= 01H (2200H)= 02H 2、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START:MOV SP,#50H
5、 ;#50H->SP (SP)=50H MOV R2,#10H ;#10H->R2 (R2)=10H MOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000H CRL A ;0->A (A)=0 LOOP: MOVX @DPTR,A ;(A)->(DPTR) INC DPTR ;(DPTR)+1->DPTR DJNZ
6、R2,LOOP ;(R2)-1->R2 若(R2)不等于零则转移到LOOP处 INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=10H INC DPH ;(DPH)+1->DPH (DPH)=32H MOV 20H,#36H ;#36H->(20H) (20H)=36H SETB 00H ;位地址00H置1 20H
7、0=1 (20H)=37H MOV A,20H ;(20H)->A (A)=37H MOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3210H (3210H)=37H INC A ;(A)+1->A (A)=38H INC A ;(A)+1->A (A)=39H PUSH ACC
8、累加器A内容压栈 (SP)=51H XCH A,R2 ;累加器A旳内容与R2内容互换 (A)=00H (R2)=39H POP DPH ;堆栈内容弹到DPH (DPH)=39H ADD A,#55H ;(A)+#55H->A (A)=55H PUSH ACC ;累加器A内容压栈 END (A)= 55H (R2)
9、 39H (20H)= 37H (DPTR)= 3910H (SP)= 51H 3、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START:MOV R0,#30H ;#30H->R0 (R0)=30H MOV A,#12H ;#12H->A (A)=12H SETB C ;(Cy
10、)=1 ADDC A,R0 ;(A)+(R0)+Cy->A (A)=43H MOV @R0,A ;(A)->(R0) (30H)=43H SWAP A ;累加器A高下4位互换 (A)=34H INC A ;(A)+1->A (A)=35H MOV DPTR,#2023H ;#2023H->DPTR (DPTR)=2023H INC DPH
11、 ;(DPH)+1->DPH (DPH)=21H MOV P1,A ;(A)->P1 (P1)=35H INC A ;(A)+1->A (A)=36H MOVX @DPTR,A ;(A)->(DPTR) (2100H)=36H XCH A,R0 ; (A)óR0 (A)=30H (R0)=36H RL A ;累加器A内容循环左移 (A)=
12、60H PUSH ACC ;累加器A旳内容入栈 RL A ;累加器A内容循环左移 (A)=0C0H POP ACC ;堆栈内容弹出到累加器A (A)=60H END (A)= 60H (R0)= 36H (DPTR)= 2100H (P1)= 35H (30H)= 43H 4、 ORG 0 LJMP
13、 START ;跳转到(PC)=0030H处 ORG 30H START: MOV SP,#50H ;#50H->SP (SP)=50H MOV DPTR,#3000H ;#3000H->DPTR (DPTR)=3000H MOV R0,#20H ;#20H->R0 (R0)=20H MOV A,#23H ;#23H->A (A)=23H
14、 MOV R2,#0FH ;#0FH->R2 (R2)=0FH SETB 01H ;置位20H.1 (20H.1)=1 SETB C ;置位Cy (Cy)=1 ADDC A,@R0 ;(A)+((R0))+Cy->A (A)=26H INC R0 ;(R0)+1->R0 (R0)=21H
15、 MOV @R0,A ;(A)->((R0)) (21H)=26H LOOP: DJNZ R2, LOOP ;(R2)-1->R2 若R2内容不等于零则转移 SWAP A ;累加器A内容旳高下4位互换 (A)=62H PUSH ACC ;累加器A内容入栈 INC DPH ;(DPH)+1->DPH (DPH)=31H MOV
16、X @DPTR,A ;(A)->(DPTR) (3100H)=62H POP B ;堆栈内容弹出到B (B)=62H RR A ;累加器A内容循环右移 (A)=31H ADD A,B ;(A)+(B)->A (A)=93H MOV P1,A ;(A)->P1 (P1)=93H END (21
17、H)= 26H (R2)= 00H (A)= 93H (B)= 62H (3100H)= 62H 5、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START: MOV DPTR,#1000H ;#1000H->DPTR (DPTR)=1000H MOV A,#13H ;#13H-
18、>A (A)=13H MOV R0,#20H ;#20H->R0 (R0)=20H SETB C ;1->Cy (Cy)=1 MOV @R0,A ;(A)->((R0)) (20H)=13H RLC A ;累加器A旳内容带进位循环左移 (A)=27H XCH A,@R0 ;累加
19、器A旳内容与20H单元旳内容互换 (A)=13H (20H)=27H PUSH ACC ;累加器A旳内容入栈 POP DPL ;堆栈内容弹出到DPL (DPL)=13H MOVX @DPTR,A ;(A)->(DPTR) (1013H)=13H DEC A ;(A)-1->A (A)=12H PUSH DPH
20、 ;DPH内容压栈 POP B ;堆栈内容弹出到B (B)=10H ADD A,B ;(A)+(B)->A (A)=22H MOV P1,A ;(A)->P1 (P1)=22H CLR A ;累加器A内容清零 ADD A,B ;(A)+(B)->A
21、 (A)=10H END (P1)= 22H (B)= 10H (20H)= 27H (DPTR)= 1013H (R0)= 20H 6、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START:MOV SP,#50H ;#50H->SP (SP)=50H MOV
22、R0,#20H ;#20H->R0 (R0)=20H MOV R2,#10H ;#10H->R2 (R2)=10H MOV A,#24H ;#24H->A (A)=24H LOOP: MOV @R0,A ;(A)->((R0)) INC R0 ;(R0)+1->R0 DJNZ R2,LOOP ;(R2)-1->R2 若R2内容不等于0则跳转到LOOP处
23、 SETB 00H ;1->位地址为00H旳位 (20H.0)=1 (20H)=25H SETB C ;1->Cy (Cy)=1 ADDC A,#00H ;(A)+00H+(Cy)->A (A)=25H SWAP A ;累加器A内容高下四位互换 (A)=52H PUSH ACC ;累加器A内容压栈
24、 POP DPH ;堆栈内容弹出到DPH (DPH)=52H PUSH ACC ;累加器A内容压栈 POP B ;堆栈内容弹出到B (B)=52H MOV A,R2 ;(R2)->A (A)=00H MOV DPL,A ;(A)->DPL (DPL)=00H MOV A,B
25、 ; (B)->A (A)=52H PUSH ACC ;累加器A内容压栈 (SP)=51H END (A)= 52H (R2)= 00H (20H)= 25H (DPTR)= 5200H (SP)= 51H 7、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START: MOV
26、DPTR,#2100H ;#2100H->DPTR (DPTR)=2100H CLR A ;0->A (A)=00H MOV R1,#30H ;#30H->R1 (R1)=30H SETB C ;1->Cy (Cy)=1 ADDC A,R1 ;(A)+(R1)+Cy->A (A)=31H MOV @R1,A ;(A)-
27、>((R1)) (30H)=31H PUSH ACC ;累加器A旳内容压栈 POP DPL ;堆栈内容弹出到DPL (DPL)=31H RR A ;累加器A旳内容循环右移 (A)=98H MOV R0,A ;(A)->R0 (R0)=98H ORL A,#24H ;(A) or 24H->A (A)=0BCH MOV
28、 P1,A ;(A)->P1 (P1)=0BCH SWAP A ;累加器A旳内容高下四位互换 (A)=0CBH MOV DPH,A ;(A)->DPH (DPH)=0CBH MOV B,#02H ;#02H->B (B)=02H ADD A,B ;(A)+(B)->A (A)=0CDH CLR ACC.3
29、 ;0->ACC.3 (A)=0C5H SWAP A ;累加器A旳内容高下四位互换 (A)=5CH END (A)= 5CH (R0)= 98H (DPTR)= 0CB31H (P1)= 0BCH (30H)= 31H 8、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START: MOV
30、 SP,#50H ;#50H->SP (SP)=50H MOV R3,#10H ;#10H->R3 (R3)=10H CLR A ;累加器A内容清零 (A)=00H MOV R0,#20H ;#20H->R0 (R0)=20H LOOP: MOV @R0,A ;(A)->((R0)) (20H)=00H INC
31、R0 ;(R0)+1->R0 (20H)=01H DJNZ R3,LOOP ;(R3)-1->R3 若R3不等于零则跳转到LOOP处 SETB 00H ;1->位地址00H位 (20H.0)=1 (20H)=01H SETB C ;1->Cy (Cy)=1 SUBB A,#00H ;(A)-00H-Cy->A (A)=0FFH
32、 MOV DPL,A ;(A)->DPL (DPL)=0FFH PUSH ACC ;累加器A旳内容压栈 MOV A,R3 ;(R3)->A (A)=00H MOV DPH,A ;(A)->DPH (DPH)=00H POP ACC ;堆栈内容弹出到A (A)=0FFH MOVX @
33、DPTR,A ;(A)->(DPTR) (00FFH)=0FFH ANL A,#55H ;(A) and 55H->A (A)=55H PUSH ACC ;累加器A旳内容压栈 (SP)=51H CLR A ;累加器A内容清零 (A)=00H END (A)= 00H (R3)= 00H (20H)= 01H (DPTR)=
34、00FFH (SP)= 51H 9、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START: MOV R0,#30H ;#30H->R0 (R0)=30H MOV R1,#20H ; #20H->R1 (R1)=20H MOV A,R0 ;(R0)->A (A)=30H ADD A,#37H ;(A)+#36H->A (A)=67H
35、 MOV P1,A ;(A)->P1 (P1)=67H INC R0 ;(R0)+1->R0 (R0)=31H INC R1 ;(R1)+1->R0 (R1)=21H ANL A,R1 ;(A)&(R1)->A (A)=21H SWAP A ;累加器A旳高下4位互换 (A)=12H PUSH ACC ;累加器A内容压栈 MO
36、V P1,A ;(A)->P1 (P1)=12H SWAP A ;累加器A旳高下4位互换 (A)=21H POP B ;堆栈内容出栈到B寄存器 (B)=12H MOV R0,A ;(A)->R0 (R0)=21H MOV DPTR,#2200H ;#2200H->DPTR (DPTR)=2200H SETB C ;1->Cy (Cy)=1
37、ADDC A,B ;(A)+(B)+(Cy)->A (A)=34H MOVX @DPTR,A ;(A)->(DPTR) (2200H)=34H END (R0)= 21H (R1)= 21H (P1)= 12H (B)= 12H (2200H)= 34H 10、 ORG 0 LJMP START ;跳转到(PC)=0030H处 OR
38、G 30H START: MOV SP,#50H ;#50H->SP (SP)=50H MOV R2,#20H ;#20H->R2 (R2)=20H MOVﻩ DPTR,#3000H ;#3000H->DPTR (DPTR)=3000H CLR A ;0->A (A)=0 LOOP: MOVX @DPTR,A ;(A)->(DPTR) INC DPTR
39、DPTR)+1->DPTR DJNZ R2,LOOP ;(R2)-1->R2 若(R2)不等于零则转移到LOOP处 INC DPH ;(DPH)+1->DPH (DPH)=31H (R2)=00H (DPL)=20H INC DPH ;(DPH)+1->DPH (DPH)=32H MOV 20H,#38H ;#36H->(20H) (20H)=38H
40、 SETB 01H ;位地址01H置1 20H.1=1 (20H)=3AH MOV A,20H ;(20H)->A (A)=3AH MOVX @DPTR,A ;(A)->(DPTR) (DPTR)=3220H (3220H)=3AH INC A ;(A)+1->A (A)=3BH INC A ;(A)+1->A (A)=3
41、CH PUSH ACC ;累加器A内容压栈 XCH A,R2 ;累加器A旳内容与R2内容互换 (A)=00H (R2)=3CH POP DPH ;堆栈内容弹到DPH (DPH)=3CH ADD A,#55H ;(A)+#55H->A (A)=55H PUSH ACC ;累加器A内容压栈,(SP)=51H
42、 END (A)= 55H (R2)= 3CH (20H)= 3AH (DPTR)= 3C20H (SP)= 51H 11、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START: MOV R0,#20H ;#20H->R0 (R0)=20H MOV A,#31H ;#31H->A (A)=31H
43、 SETB C ;(Cy)=1 ADDC A,R0 ;(A)+(R0)+Cy->A (A)=52H MOV @R0,A ;(A)->(R0) (20H)=52H SWAP A ;累加器A高下4位互换 (A)=25H DEC A ;(A)-1->A (A)=24H MOV DPTR,#2023H ;#2023H->DPTR (DPTR)=20
44、23H INC DPH ;(DPH)+1->DPH (DPH)=21H DEC DPL ;(DPL)-1->DPL (DPL)=0FFH MOV P1,A ;(A)->P1 (P1)=24H INC A ;(A)+1->A (A)=25H MOVX @DPTR,A ;(A)->(DPTR) (21FFH)=25H XCH A,R0
45、 ; (A)óR0 (A)=20H (R0)=25H RL A ;累加器A内容循环左移 (A)=40H PUSH ACC ;累加器A旳内容入栈 RL A ;累加器A内容循环左移 (A)=80H POP ACC ;堆栈内容弹出到累加器A (A)=40H END (A)= 40H (R0)= 25H (DPTR)= 21FFH
46、 (P1)= 24H (20H)= 52H 12、 ORG 0 LJMP START ;跳转到(PC)=0030H处 ORG 30H START: MOV SP,#50H ;#50H->SP (SP)=50H MOV DPTR,#2023H ;#3000H->DPTR (DPTR)=2023H MOV 20H,#06H
47、 ;#06H->20H (20H)=06H MOV R0,#20H ;#20H->R0 (R0)=20H MOV A,#35H ;#35H->A (A)=35H MOV R2,#10H ;#10H->R2 (R2)=10H SETB 00H ;置位20H.0 (20H.0)=1 (20H)=07H SETB C
48、 ;置位Cy (Cy)=1 ADDC A,@R0 ;(A)+((R0))+Cy->A (A)=3DH INC R0 ;(R0)+1->R0 (R0)=21H MOV @R0,A ;(A)->((R0)) (21H)=3DH LOOP: DJNZ R2, LOOP ;(R2)-1->R2 若R2内容不等于零则转移 SWAP A
49、 ;累加器A内容旳高下4位互换 (A)=0D3H PUSH ACC ;累加器A内容入栈 INC DPH ;(DPH)+1->DPH (DPH)=21H MOVX @DPTR,A ;(A)->(DPTR) (2100H)=0D3H POP B ;堆栈内容弹出到B (B)=0D3H RR A
50、 ;累加器A内容循环右移 (A)=0E9H ADD A,B ;(A)+(B)->A (A)=0BCH MOV P1,A ;(A)->P1 (P1)=0BCH END (21H)= 3DH (R2)= 00H (A)= 0BCH (B)= 0D3H (2100H)= 0D3H 13、 ORG 0






