资源描述
四、阅读下列程序,注释并填写指令执行后旳成果(每题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->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内容压栈
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)=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 ;#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 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.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 ;累加器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)= 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)=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 ;(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)=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 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
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
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
MOVX @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
(21H)= 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->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 ;累加器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 ;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 (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 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处
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内容压栈
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 ; (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 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)->((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 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 ;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 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 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
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 @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)= 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
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内容压栈
MOV 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
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处
ORG 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 ;(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
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)=3CH
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
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
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)=2023H
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 ; (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 (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 ;#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 ;置位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 ;累加器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 ;累加器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
展开阅读全文