单片机习题和试题库之六  读程序(附参考答案)

您所在的位置:网站首页 acall指令例题 单片机习题和试题库之六  读程序(附参考答案)

单片机习题和试题库之六  读程序(附参考答案)

2024-06-16 16:58| 来源: 网络整理| 查看: 265

1.写出下列指令执行的结果

(1).

MOV A,#20H

MOV R0,#20H

MOV @R0,A

ANL   A,   #0FH

ORL   A,   #80H

XRL   A,   @R0

A=__________ ;     R0=             ;        (20H)=__________

(2).

MOV       DPTR, #2314H

MOV       R0, DPH

MOV       14H, #22H

MOV       R1, DPL

MOV       23H, #56H

MOV       A, @R0

XCH               A, DPH

执行以上指令后A=____________ DPTR=__________

(3).

MOV       A,#50H

MOV       B,#77H

PUSH       ACC

PUSH       B

POP         ACC

POP         B

执行完本段指令后(A)=_________ (B)=_______

2.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?

MOVA, 59H

MOVR0, A

MOVA, #00H

MOV@R0, A

MOVA, #25H

MOV51H, A

MOV52H, #70H

3.已知(A)=83H,(R0)=17H,(17H)=34H。请写出执行完下列程序段后A的内容。

ANLA,#17H

ORL17H, A

XRLA, @R0

CPLA

4. 试分析下列程序段,当程序执行后,位地址00H,01H中的内容为何值?P1口的8条I/0线为何状态?

CLRC

MOVA,#66H

JCLOOP1

CPLC

SETB01H

LOOP1:ORLC,ACC.0

JBACC.2,LOOP2

CLR00H

LOOP2:MOVP1,A

5.若A=11H,R0=33H,B=55H,(11H)=22H,(22H)=66H,(33H)=44H,在注释区写出分别执行下列指令后果的结果。

 (1)MOV    R1,A          ;

 (2)MOV    R3,#11H       ;

 (3)MOV    @R0,#22H      ;

 (4)MOV    A, @R0        ;

 (5)MOV    B,33H         ;

 (6)MOV    40H,R0        ;

6.若A=78H,R0=34H,(34H)=DCH,(56H)=ABH,Cy=1,求分别执行下列指令后Y和Cy中的数据。

 (1)ADDC   A,@R0         ;

 (2)SUBB    A,56H        ;

 (3)DEC     @R0           ;

 (4)INC      56H          ;

7.若A=B7H,R0=5EH,(23H)=A1H,Cy=0,将分别执行下列指令的结果写在注释区。

(1)ANL     A,R0           ;

(2)ORL     A,#23H         ;

(3)XRL     23H,A          ;

(4)RLC     A                ;

8.分别用一条指令实现下列功能。

(1)若进位位不为0,则转PROM1程序段执行。

(2)使PC=2000H。

(3)若A中的数据不等于100,则程序转至PROM3。

(4)若A中数据等于0,则程序转至PROM4。

(5)将R5中数据减1,若R5中数据不等于0,则程序转至PROM5。

(6)子程序返回。

9.已知外RAM(2040H)=50H,ROM(2090H)=96H,内RAM(20H)=85H,试求下列程序依次运行后有关单元中的内容。

MOV     DPTP,#2040H          ;

MOVX   A,@DPTR               ;

MOVC   A,@A+DPTR             ;

ADD     A,20H                ;

DA      A                     ;

SWAP    A                     ;

10.试求下列程序依次运行后有关单元中的内容。

MOV    20H,#A7H           ;

MOV    C,07H               ;

ORL     C,/H               ;

CPL     00H                 ;

SETB    03H                 ;

MOV    A,20H               ;

RLC     A                   ;

MOV    20H,A               ;

11.已知:(60H)=23H,(61H)=61H,以下程序段执行后(62H)=      。

CLR        C

MOV      A,#9AH

SUBB      A,60H

ADD       A,61H

DA         A

MOV      62H,A

12.已知:(A)=02H,(SP)=40H,(41H)=FFH,(42H)=FFH,以下程序段执行后(A)=      .(SP)=       .(41H)=       .(42H)=        .

(PC)=         。

POP        DPH

POP        DPL

MOV      DPTR,#3000H

RR          A

MOV      B,A

MOVC    A,@A+DPTR

PUSH      ACC

MOV      A,B

INC        A

MOVC    A,@A+DPTR

PUSH      ACC

RET

ORG       3000H

DB          10H,80H,30H,50H,30H, 50H

13.以下程序段执行后(A)=         ,(30H)=         。

MOV      30H,#0A4H

MOV      A,#0D0H

MOV      R0,#30H

MOV      R2,#5EH

ANL       A,R2

ORL       A,@R0

SWAP     A

CPL        A

XRL       A,#0FEH

ORL       30H,A

14.已知(59H)=50H,以下程序段执行后(A)=        ,(50H)=         ,

(51H)=         ,(R0)=        。

MOV   A,59H

MOV   R0,A

MOV   A,#00

MOV   @R0,A

MOV   A,#25H

MOV   51H,A

MOV   52H,#70H

15.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。

  (1)将R0的内容传送到R1;

  (2)内部RAM单元60H的内容传送到寄存器R2;

  (3)外部RAM单元1000H的内容传送到内部RAM单元60H;

  (4)外部RAM单元1000H的内容传送到寄存器R2;

  (5)外部RAM单元1000H的内容传送到外部RAM单元2000H。

16.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。

   MOV  A,@R1

   MOV  @R1,40H

   MOV  40H,A

   MOV   R1,#7FH

17.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY.AC.和OV的值。

  (1)MOV  A,@R0

  (2)ANL  40H,#0FH

  (3)ADD  A,R4

  (4)SWAP  A

  (5)DEC  @R1

  (6)XCHD   A,@R1

18.若(50H)=40H,试写出执行以下程序段后累加器A.寄存器R0及内部RAM的40H.41H.42H单元中的内容各为多少?

    MOV  A,50H

    MOV  R0,A

    MOV  A,#00H

    MOV  @R0,A

    MOV  A,3BH

    MOV  41H,A

    MOV  42H,41H

MOV  A,#10H          (A)=           

MOV  B,A             (B)=            

MOV  A,B              (A)=            

ADD   A,B             (A)=             

MOV  20H,A            (20H)=            

INC   A                 (A)=            

MOV  21H,A            (21H)=            

INC   A                 (A)=           

MOV  22H,A             (22H)=            

19.MOV    DPTR,#2000H      (DPTR)=            

   MOV    A,#80H            (A)=           

   MOVX   @DPTR,A          (2000H)=           

   INC      DPTR              (DPTR)=           

   MOV     A,#90H            (A)=           

   MOVX   @DPTR,A           (2001H)=            

   MOV    DPTR,#2000H        (DPTR)=           

   MOVX   A,@DPTR           (A)=            

   MOV     B,A                (B)=          

   INC      DPTR               (DPTR)=         

   MOVX    A,@DPTR           (A)=            

20.改正下列指令

MOV   @R3,A                          

MOV   DPTR,A                         

INC    @R3                 I            

DEC    DPTR                        

ADDC   #30H,A                      

21.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果

MOV   A,10H       (A)=                  ,

ANL    A,#01H      (A)=                 ,

MOV   A,11H       (A)=                ,

ORL    A,#01H       (A)=                   ,

MOV   A,12H        (A)=                  ,

XRL    A,#01H       (A)=                   ,

MOV    A,13H       (A)=                  ,

XRL    A,#0AA       (A)=                   ,

(10H)=       , (11H)=         , (12H)=         , (13H)=         

22.MOV   30H,#60H

   MOV   R0,#60H

   MOV   A,30H

   MOV   B,A

   MOV   @R0,B

   (A)=                   ,(R0)=                   ,(B)=                   ,

23.MOV   SP,#60H

   MOV   A,#01H         (A)=                   ,

   MOV   B,#02H         (B)=                   ,

   PUSH   A           (SP)=                   ,

   PUSH   B           (SP)=                   ,

   POP     A

   POP     B           (60H)=                 ,

24.改正下列指令

MOV   A,DPTR                

MOV   DPTR,10H             

MOV   DPTR,40H                

MOVX  40H,#30H           

ADD   20H,#10H    

25.设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分)

   MOV    R0,#30H              ;R0=30H

   MOV    A,@R0               ;A=5AH

   MOV    R1,A                 ;R1=5AH

   MOV    B,R1                 ;B=5AH

   MOV    @R1,P1              ;(5AH)=7FH

   MOV    A,P1                 ;A=7FH

   MOV    40H,#20H             ;(40H)=20H

   MOV    30H,40H              ;(30H)=20H

26.位地址为M.N.Y,程序如下:

 MOV C,M   ;(M) ➞C

  ANL   C,       ;(M)

    MOV  Y,C      ;(Y)=(M)

  MOV  C,M      ;(M) ➞C

         ANL   C,N      ;(M)

ORL   CY       ;

MOV  Y,C     

求程序功能表达式:

27.阅读下列程序并回答问题

CLR       C

MOV      A,#9AH

   SUBB      A,60H

   ADD       A,61H,

   DA         A

   MOV       62H,A

请问该程序执行何种操作?

28.已知初值:(60H)=23H,(61H)=61H,请问运行程序后:(62H)=(         )?

(1).程序如下

 2506H          M5:   MOV      SP,#58H;

  2509H        MOV      10H,0FH;

  250CH                MOV       11H,#0BH;

  250FH                ACALL      XHD;

  2511H                MOV        20H,11H

  2514H        M5A:   SJMP        M5A

                XHD:   PUSH       10H

                        PUSH       11H

                        POP         10H

                        POP         11H

                           RET

问:(1)执行POP10H后堆栈内容?

(2)执行M5A:SJMP M5A后,(SP)=? (20H)=? 

29.解读下列程序,然后填写有关寄存器内容

(1)           MOV     R1,#48H

                    MOV     48H,#51H

                    CJNE     @R1,#51H,00H

                    JNC      NEXT1

                    MOV     A,#0FFH

                    SJMP     NEXT2

         NEXT:     MOV     A,#0AAH

         NEXT2:    SJMP     NEXT2

         累加器    A=(   )

(2)                 MOV      A,#0FBH

                   MOV      PSW,#10H

                   ADD      A,#7FH

若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表:

PSW

CY

AC

F0

RS1

RS0

OV

F1

 

30.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(4BH)=20H

   MOV   A,@R0          ;7FH➞A

   MOV   @R0,40,40H      ;20H➞4BH

   MOV   40H,A           ;7FH➞40H

   MOV   R0,#35H

问执行和程序后,R0.A和4BH.40H单元内容的变化如何?

31.设(R0)=7EH,DPTR=10FEH,片内RAM 7FH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。

        INC   @R0

        INC   R0

        INC   @R0

        INC   DPTR

        INC   DPTR

        INC   DPTR

32.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,

(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何?

                    CLR       C

                    MOV      R2,#3

LOOP:  MOV      A,@R0

      ADDC     A,@R1

      MOV      @R0,A

      INC        R0

      INC        R1

      DJNZ       R2,LOOP

      JNC        NEXT1

      MOV       @R0,#01H

      SJMP       $

NEXT:  DEC        R0

        SJMP       $

(20H)=(     ).(21H)=     .(22H)=      .(23H)=       . CY=    

A=     .R0=      .R1=       。

33.设片内RAM中(59H)=50H,执行下列程序段

        MOV   A,59H

        MOV   R0,A

        MOV   @R0,A

        MOV   A,#25H

        MOV   51H,A

        MOV   52H,#70H

A=       ,(50H)=      ,(51H)=      ,(52H)=         .

34.   说明下列各条指令画线部分寻址方式,并用图说明指令实现的操作。

(1)  ADD  A,30H

(2)   MOVX  A,@DPTR

(3)   MOVC  A,@A+PC

(4)   ORL  60H,#23H

(5)   MOV  @R1,A

35.   若A=80H,R0=17H,(17H)=34H,执行下列程序后,A=?

ANL  A,#17H

ORL  17H,A

XRL  A,@R0

CPL  A

36.   说明下列程序执行过程中,SP的内容以及堆栈中内容的改变过程。

MOV  SP,#20H

MOV  A,#20H

MOV  B,#30H

PUSH  ACC

PUSH  B

POP  ACC

POP  B

37.   读程序,说明该程序完成的功能.

(1).      JMP:         MOV   DPTR, #TBJ

                  MOV    A, R2

                  ADD    A, R2

                  JNC     NADD

                  INC     DPH

NADD:   JMP    @A+DPTR

TBJ:     AJMP   PRG0

          AJMP   PRG1

         ……………….

         AJMP   PRGn

(2).     ADD:     MOV   R3, #0

                MOV   R4, #0

                MOV   R0, #50H

        LOOP:    MOV   A, R4

                ADD   A, @R0

                MOV   R4, A

                INC    R0

                CLR    A

                ADDC  A, R3

                MOV   R3, A

                DJNZ   R2, LOOP

                RET

36.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?

MOVA, 59H

MOVR0, A

MOVA, #00H

MOV@R0, A

MOVA, #25H

MOV51H, A

MOV52H, #70H

37.已知(A)=83H,(R0)=17H,(17H)=34H。请写出执行完下列程序段后A的内容。

ANLA,#17H

ORL17H, A

XRLA, @R0

CPLA

38.使用位操作指令实现下列逻辑操作,要求不得改变未涉及位的内容。

(1)使ACC.0置1;

(2)清除累加器高4位;

(3)清除ACC.3,ACC.4, ACC.5, ACC.6。

39.试分析下列程序段,当程序执行后,位地址00H,01H中的内容为何值?P1口的8条I/0线为何状态?

CLRC

MOVA,#66H

JCLOOP1

CPLC

SETB01H

LOOP1:ORLC,ACC.0

JBACC.2,LOOP2

CLR00H

LOOP2:MOVP1,

40.指出下列指令各是什么寻址方式?

MOV  A,  diret

MOV  A,  #data

MOV  A,  R0

MOV  A,  @R1

 

参考答案:

1.  (1) A=A0H  R0=20H  (20H)=20H     (2) A=23H  DPTR=5614H     (3) (A)=77H   (B)=50H

2. A=50H   R0=50H  A=00H  (50H)=00H  A=25H  (51H)=25H  (52H)=70H

3. A=C8H

4. (00H)=1  (01H)=1  P1: 01100111

5. (1) R1=11H    (2) R3=11H    (3) (33H)=22H    (4) A=44H    (5) B=44H    (6) (40H)=33H

6. (1) Y=55H   Cy=1    (2) Y=CCH   Cy=1    (3) Y=DBH   Cy=1    (4) Y=57H   Cy=1

7. (1) A=16H    (2) A=B7H    (3) (23H)=16H    (4) A=6EH  Cy=1 

9.    DPTR=2040H       A=50H       A=96H       A=1BH       A=81H       A=18H

10.   (20H)=A7H       C=0       C=1H       20H的0位取反       20H的3位置1       A=AEH       A=5DH       (20H)=5DH

11. (62H)=38H

12. (A)=05H  (SP)=40H  (41H)=30H  (42H)=50H  (PC)=4241H

13. (A)=4EH  (30H)=7EH

14. (A)=25H  (50H)=00H  (51H)=25H  (52H)=70H

15. (1) MOV A,R0         MOV R1,A     (2) MOV R2,60H     (3) MOV DPTR,#1000H         MOV A,@DPTR         MOV 60H,A     (4) MOV DPTR,#1000H         MOV A,@DPTR         MOV R2,A     (5) MOV DPTR,#1000H         MOVX A,@DPTR         MOV DPTR,#2000H         MOVX @DPTR,A

16. (R1)=7FH  (A)=60H  (30H)=08H  (40H)=60H

17. (1) (A)=2CH     (2) (40H)=0H     (3) (A)=22H  Cy=1  Ac=1  OV=0     (4) (A)=8EH     (5) (20H)=0EH     (6) (A)=EFH  (20H)=08H

18. (A)=3BH  (R0)=40H  (40H)=00H  (41H)=3BH  (42H)=3BH         (A)=10H  (B)=10H  (A)=10H  (A)=20H  (20H)=20H  (A)=21H  (21H)=21H  (A)=22H  (22H)=22H

19.  (DPTR)=2000H  (A)=80H  (2000H)=80H  (DPTR)=2001H  (A)=90H  (2001H)=90H      (DPTR)=2000H  (A)=80H  (B)=80H  (DPTR)=2001H (A)=90H

20.  MOV R0,A      MOV @DPTR,A      INC @R0      DEC @DPTR      ADDC A,#30H

21.  (A)=0FFH      (A)=01H      (A)=00H      (A)=01H      (A)=0FFH      (A)=0FEH      (A)=00H      (A)=0AH      (10H)=0FFH  (11H)=00H  (12H)=0FFH  (13H)=00H

22.  (A)=60H  (R0)=60H  (B)=60H

23.  (A)=01H  (B)=02H  (SP)=61H  (SP)=62H  (60H)=01H

24.  MOVX A,@DPTR      MOVX @DPTR,10H      MOVX @DPTR,40H      MOV 40H,#30H      ADD A,#10H

25.  R0=30H  R1=5AH  A=7FH  B=5AH  P1=7FH  (30H)=20H  (40H)=20H  (5AH)=7FH

26.  Y=MN+M

27.  十进制加法

30.  R0=35H  A=7FH  (4BH)=20H  (40H)=7FH

31.  (7EH)=00H  (R0)=7FH  (7FH)=39H  DPTR=10FFH  DPTR=1100H  DPTR=1101H

33.  A=25H  (50H)=50H  (51H)=25H  (52H)=70H

34.  (1)直接寻址      (2)寄存器间接寻址      (3)寄存器间接寻址      (4)立即寻址      (5)寄存器间接寻址

      35. A=CBH 36.     A=30H  B=20H 37.     (1) 实现程序的多分枝转移         (2) 累加

36.    A=25H  R0=50H  (50H)=00H  (51H)=25H  (52H)=70H 37.    A=CBH 38.    (1) SETB E0H        (2) ANL A,#0FH        (3) ANL A,#87H 39.    (00H)=1  (01H)=1  P1: 01100111

40.    直接寻址  立即寻址  寄存器寻址  寄存器间接寻址

(注:本答案仅供参考,不对指出请指正)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3