4_2汇编程序设计[分支].ppt
文本预览下载声明
第4章 汇编语言程序设计;4.3 DOS系统功能调用;4.3.1 系统功能调用方法;4.3.2 常用的DOS系统功能调用;1号系统功能调用(从键盘读入一个字符);2号系统功能调用(显示一个字符);4.4 分支程序设计;一、无条件转移指令;目标地址的范围:段内;目标地址的范围:段间;直接
转移地址象立即数一样,直接出现在指令中
间接
转移地址在寄存器或主存单元中;;二、条件转移指令;1. 判断单个标志位状态;例:JZ/JNZ指令;例:JS/JNS指令;例:JO/JNO指令;例:JC/JNC指令;统计BX中“1”的个数;比较无符号数高低;例:比较无符号数;比较有符号数大小;例:比较有符号数;条件转移指令中的条件cc;三、分支程序设计;条件成立跳转到标号所在的指令执行,否则顺序执行分支语句体;
注意:选择正确的条件转移指令和转移目标地址;1、 单分支;2、双分支程序设计;2、双分支程序设计;多个条件对应各自的分支语句??,哪个条件成立就转入相应分支体执行。多分支可以化解为双分支或单分支结构的组合;【例4.11】编写计算下面函数值的程序:
1 X0
Y= 0 X=0
-1 X0
设输入数据为X、输出数据Y,且皆为字节变量。程序流程图如图所示。;图 分支运算程序流程图;DATA SEGMENT
X DB -10
Y DB ?
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
START:MOV AX,DATA
MOV DS,AX; CMP X,0 ;与0进行比较
JGE A1 ;X≥0转A1
MOV Y,-1 ;X <0时,-1→Y
JMP EXIT
A1: JG A2 ;X>0转A2
MOV Y,0 ;X=0时,0→Y
JMP EXIT
A2: MOV Y,1 ;X>0,1→Y
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
显示全部