收藏 分销(赏)

2023年单片机读程序题题库答案.doc

上传人:人****来 文档编号:4498500 上传时间:2024-09-25 格式:DOC 页数:88 大小:289.04KB 下载积分:16 金币
下载 相关 举报
2023年单片机读程序题题库答案.doc_第1页
第1页 / 共88页
2023年单片机读程序题题库答案.doc_第2页
第2页 / 共88页


点击查看更多>>
资源描述
四、阅读下列程序,注释并填写指令执行后旳成果(每题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    
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服