首页 理论教育 多分支程序设计

多分支程序设计

时间:2022-02-28 理论教育 版权反馈
【摘要】: 利用表实现分支。根据AL中各位被置位情况,控制转移到8个子程序R1~R8之一中去。分析 对于这种程序,关键要找出每种情况的转移地址,从图中可见表地址=表基地址+偏移量,而偏移量可由AL各位所在位置*2求得。其流程图见图4-7。

4.3.3 多分支程序设计

多分支结构相当于高级语言的CASE语句。下面结合具体实例,说明多分支程序的设计方法。

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

表4-1 子程序R1~R8的入口地址

img78

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

img79

图4-7 多分支流程图

DATA SEGMENT

BUF DW SR0,SR1,SR2,SR3,SR4,SR5,SR6,SR7

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA BX,BUF ;表头送BX

IN AL,PORT;从PORT端口取状态

AGAIN:RCRAL,1;右移一位

JC SB;移出位是1?

INC BX

INC BX;修改指针

JMP AGAIN

SB:JMP WORD PTR[BX];实现散转

SR0:… ;P0段的入口地址

SR1:…;P1段的入口地址

SR7:…;P7段的入口地址

MOV AH,4CH

INT 21H

CODE ENDS

END START

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈