第五章 分支程序设计.docx

上传人:b****7 文档编号:9740133 上传时间:2023-02-06 格式:DOCX 页数:31 大小:23.28KB
下载 相关 举报
第五章 分支程序设计.docx_第1页
第1页 / 共31页
第五章 分支程序设计.docx_第2页
第2页 / 共31页
第五章 分支程序设计.docx_第3页
第3页 / 共31页
第五章 分支程序设计.docx_第4页
第4页 / 共31页
第五章 分支程序设计.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

第五章 分支程序设计.docx

《第五章 分支程序设计.docx》由会员分享,可在线阅读,更多相关《第五章 分支程序设计.docx(31页珍藏版)》请在冰豆网上搜索。

第五章 分支程序设计.docx

第五章分支程序设计

 第五章分支程序设计

练习题

5.4.1 单项选择题

1.双分支程序设计中实现分支的指令是(  )指令。

      A.条件转移 B.无条件转移 C.移位  D.算术运算

2.条件判断转移是根据标志寄存器中的标志位来判断的,用来实现条件判断转移标志位共有(  )位。

      A.4          B.5       C.6         D.9

3.条件转移指令的转移范围是(  )。

A.0~65535 B.~32768~32767 C.0~255  D.-128~127

4.用一条条件转移指令一次可实现(  )个分支。

      A.2      B.3      C.4      D.多

5.下列指令会影响标志位的指令是(  )。

      A.JMP L  B.JC L    C.MOV AL,L D.SHL AL,1

6.当两个无符号数进行相加时,执行“JC L”指令表示(  )转移。

      A.结果溢出 B.结果为0  C.结果为奇  D.结果为负

7.当两个无符号数进行比较时,执行“JA L”指令表示(  )转移。

      A.CF=0且ZF=0        B.CF=0且ZF=1     

C.CF=1且ZF=0        D.CF=1且ZF=1

8.当“CMP AX,BX”比较时,执行“JG L”指令后转移列L,则表明(  )。

      A.AX>BX   B.AX=BX    C.AX<BX D.AX≥BX

9.如果0100H单元存放条件转移指令的操作码,0101H单元存放条件转移指令的相对位移量13H,那么转移后的指令的偏移地址为(  )。

      A、0102H     B、0113H      C、0115H     D、00FEH

10.下列叙述不正确的是(  )。

A.有符号数比较后的条件转移指令可采用JG、JL、JGE和JLE指令。

B.无符号数比较后的条件转移指令可采用JA、JB、JNE和JBE指令。

C.有符号数比较后判断溢出用JO和JNO指令。

D.无符号数比较后判断溢出用JS和JNS指令。

5.4.2 多项选择题

1.分支程序结构的形式有(  )。

      A.单分支结构 B.双分支结构    C.多分支结构    D.无分支结构

2.在分支结构的程序中,分支程序的流程一般有(  )。

      A.判断转移框  B.循环框           C.产生条件框    D.分支程序段框

3.在下列的选项中,可以用来产生条件的选项有(  )。

      A.数据传送指令B.算术运算指令 C.逻辑运算指令D.转移指令

4.在多分支程序设计中,常用的方法有(  )。

      A.地址表法       B.计数法           C.转移表法       D.逻辑分解法

5.执行完指令“CMP AX,100”后,如果要实现AX寄存器中的无符号数高于100则转移到L,应该使用的指令有(  )。

      A.JNS  L        B.JNC L         C.JA    L         D.JNBE L

6.执行完指令“CMP AX,0”后,如果要实现AX寄存器中的内容为正数则转移到L,应该使用的指令有(  )。

      A.JAE  L        B.JGE  L         C.JNS L         D.JNC       L

7.如果用“JS P”指令实现AX寄存器中的内容为负数转移,产生条件的指令可用( )。

      A.AND   AX,8000H                 B.CMP   AX,8000H

      C.TEST      AX,8000H                 D.CMP       AX,0

8.如果用要判断AX寄存器中的内容为100H则转移到P,如下的选项有(    )。

      A.CMP   AX,100H                  B.SUB   AX,100H

        JZ           P                                  JE           P

      C.AND       AX,100H                  D.XOR       AX,100H

        JZ           P                                  JZ           P

9.设AX寄存器中的内容为有符号数,如果用要判断AX寄存器中的内容小于100H则转移到P,如下的选项有(    )。

      A.CMP   AX,100H                  B.SUB   AX,100H

        JL           P                        JNG        P

      C.CMP       AX,100H            D.SUN       AX,100H

        JNGE             P                     JNAE       P

10.如果在TAB字单元中存放的是某程序的入口地址,要转移到该程序的的选项有( )。

      A.LEA BX,TAB                          B.MOV BX,0

        JMP  BX                                    JMP  TAB[BX]

      C.JMP  TAB                                D.JMP  DWORDPTR[TAB]

5.4.3 填空题

1.当两个有符号数相减后,若要判断大于等于则转、需用   、   或     指令。

2.在分支程序的结构中,其流程图一般由   、   、定向和   四个部分组成。

3.转移表法分支程序设计中,其程序转移表中存放的是   。

4.地址表法分支程序设计中,其地址表中存放的是   。

5.逻辑分解法程序设计一般是利用多条   指令实现多分支程序设计的。

6.条件转移指令是分支程序设计中最常用的指令之一,这类指令大体上可以分为三种,它们是   条件转移,   条件转移和   条件转移指令。

7.条件转移指令的执行,是当条件   时则转移。

8.在执行条件转移指令前,必须要执行产生条件码的指令,然后才能进行条件判断转移,而一般的数据传送指令   影响条件码(标志位)。

9.当两个数进行比较后,执行   指令表示结果为零转L。

10.为了实现程序的多路分支,通常使用   、   和   三种方法的分支程序设计方法。

5.4.4 程序分析题

1.现有程序如下:

            DATA     SEGMENT

            X             DB      0ABH

            FLAG      DB      0

            DATA       ENDS

            CODE      SEGMENT

                             ASSUME  CS:

CODE,DS:

DATA

            START:

    MOV   AX,DATA

                              MOV   DS,AX

                                  MOV     AL,X

                              CMP    AL,0

                              JGE   L

                              MOV   FLAG,0

                              JMP      EXIT

                   L:

  MOV   FLAG,1

             EXIT:

   MOV   AH,4CH

                              INT     21H

            CODE      ENDS

                              END    START

请回答:

(1)该程序完成什么功能?

       

(2)程序执行完后FLAG中的内容是多少?

2.现有程序如下:

            DATA      SEGMENT

            BUF       DB         0

            DATA      ENDS

            CODE      SEGMENT

                                ASSUME CS:

CODE,DS:

DATA

            START:

    MOV   AX,DATA

                                MOV   DS,AX

                                MOV   AH,1

                                INT     21H

                                CMP   AL,61H

                                JB     N

                                CMP   AL,7AH

                                JA    N

                                SUB    AL,20H

                  N:

    MOV   BUF,AL

                                MOV   AH,4CH

                                INT     21H

            CODE       ENDS

                                END    START

请回答:

(1)该程序完成什么功能?

            

(2)如果要将“CMP AL,7AH”改为“CMP AL,7BH”,则相应的指令

“JA N”应改为什么指令?

3.现有程序如下:

            DATA       SEGMENT

            A               DB      23

            B               DB      0F0H

            C          DB      0

            DATA         ENDS

            CODE       SEGMENT

                                ASSUME CS:

CODE,DS:

DATA

            START:

    MOV   AX,DATA

                               MOV   DS,AX

                                MOV   AL,A

                                CMP   AL,B

                                JZ     L

                                JG    M

                                MOV   C,-1

                                JMP    EXIT

                  L:

     MOV   C,0

                                JMP    EXIT

                  M:

    MOV   C,1

            EXIT:

    MOV   AH,4CH

                                INT     21H

           CODE       ENDS

                                END    START

请回答:

(1)该程序完成什么功能?

            

(2)程序运行后,C中的内容是什么?

4.现有程序如下:

            DATA         SEGMENT

            X               DW      7000H

            Y               DW      9000H

            DATA       ENDS

            CODE       SEGMENT

                                ASSUME CS:

CODE,DS:

DATA

            START:

    MOV   AX,DATA

                              MOV   DS,AX

                                MOV   AX,X

                                SUB    AX,Y

                                JO    L

                                MOV   DL,‘N’

                                JMP    EXIT

           L:

        MOV   DL,‘Y’

           EXIT:

       MOV   AH,2

                               INT    21H

                               MOV   AH,4CH

                               INT     21H

           CODE        ENDS

                               END    START

       请回答:

(1)请程序完成什么功能?

                 

(2)程序执行完后,显示输出的结果如何?

5.现有程序如下:

            DATA         SEGMENT

            BUF1         DB    ‘ABCDAC’

             C1                =          $-BUF1

            BUF2         DB  ‘C’

            BUF3       DW     0

            DATA         ENDS

            CODE        SEGMENT

                               ASSUME CS:

CODE,DS:

DATA

            START:

    MOV   AX,DATA

            MOV   DS,AX

            MOV   ES,AX

            LEA    DI,BUF1

            MOV   CX,C1

            MOV   AL,BUF2

            CLD

            REPNE  SCASB

            JNZ    N

            MOV  DL,‘Y’

            MOV AH,2

            INT  21H

            DEC            DI

            MOV     BUF3,DI

            JMP      EXIT

                  N:

    MOV   DL,‘N’

                               MOV     AH,2

                               INT    21H

            EXIT:

    MOV   AH,4CH

                               INT   21H

           CODE       ENDS

                               END      START

请回答:

(1)该程序完成什么功能?

            

(2)程序运行后,BUF3中的内容是什么?

显示输出是什么?

6.现有程序如下:

            DATA         SEGMENT

            BUF           DB        23,125,96

            DATA         ENDS

            CODE        SEGMENT

                               ASSUMECS:

CODE,DS:

DATA

            START:

    MOV   AX,DATA

                               MOV   DS,AX

                               LEA    SI,BUF

                               MOV     AL,[SI]

                               MOV   BL,[SI+1]

                               MOV     CL,[SI+2]

                               CMP      AL, BL

                               JAE    N1

                               XCHG AL, BL

                  N1:

     CMP      AL, CL

                               JAE  N2

                               XCHG AL, CL

                  N2:

     CMP      BL, CL

                               JAE    N3

                               XCHG BL, CL

                  N3:

     MOV   [SI], AL

                               MOV   [SI+1], BL

                               MOV   [SI+2], CL

                               MOV   AH, 4CH

                               INT    21H

           CODE        ENDS

                               END    START

请回答:

(1)该程序完成什么功能?

     

(2)程序运行后BUF中的内容依次是什么?

7.现有程序如下:

            DATA       SEGMENT

            X               DB      4FH

            BUF           DB        2DUP(0)

            DATA         ENDS

            CODE       SEGMENT

                               ASSUMECS:

CODE,DS:

DATA

            START:

             MOV     AX,DATA

                                MOV   DS,AX

                                MOV     AL,X

                                MOV     CL,4

                                SHR      AL,CL

                 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1