你的位置: 首页 > 通信技术 > 汇编语言

分支程序设计

2016-10-24 13:52:48 | 人围观 | 评论:

   分支程序的基本思想是根据逻辑判断的结果来形成程序的分支,如图,若A成立,则执行P1;否则执行P2。

    分支程序有两种基本结构,如图所示。

    

    它们分别相当于高级语言中的IF_THEN_ELSE语句和CASE语句,适用于要求根据不同条件作不同处理的情况。IF_THEN_ELSE语句可以引出两个分支,CASE语句则可以引出多个分支,不论哪一种形式,它们的共同特点是:运行方向是向前的,在某一种特定条件下,只能执行多个分支中的一个分支。

    

    例1  试编写程序段,实现符号函数。

    分析:变量X的符号函数可表示为:

    程序可通过对符号标志的判别来确定执行哪一分支。

    START: MOV AX,BUFFER    ;(BUFFER)=X

    OR  AX,AX

    JE  ZERO           ;X=0,则转ZERO

    JNS  PLUS            ;X为正数,则转PLUS

    MOV BX,0FFFFH     ;X为负数,则-1送BX

    JMP  CONT1

    ZERO:  MOV BX,0

    JMP  CONT1

    PLUS:  MOV BX,1

    CONT1:   ……

    例2  利用表实现分支。根据AL中各位被置位情况,控制转移到8个子程序P1~P8之一中去。转移表的结构如表1所示。

    分析:对于这种程序关键要找出每种情况的转移地址,从图中可见表地址=表基地址+偏移量, 而偏移量可由AL各位所在位置*2求得。





标签:

相关内容推荐:

表1 子程序R1―R8的入口地址表

P1

子程序R1的入口偏移地址

P2

子程序R2的入口偏移地址

P3

子程序R3的入口偏移地址

……
……

…….
……

P7

子程序R7的入口偏移地址

P8

子程序R8的入口偏移地址