- 8
- 0
- 约2.97万字
- 约 24页
- 2016-12-05 发布于重庆
- 举报
匯编语言与计算机原理第六章
第六章 汇编语言程序设计
§6.1 分支程序设计
分支程序是最基本的程序结构之一。在汇编语言程序设计中,分支结构的实现一般通过CMP、CMPS、TEST等指令,对某寄存器的值或内存单元的值进行测试,测试结果反映到状态标志位,然后由条件转移指令检查状态标志位,确定应当执行下一条指令还是转移。条件转移指令对状态标志位的检查可能只检查某个标志位的值,也可能检查多个标志位的逻辑运算值,如果值为1,则将指令指针IP值修改为转移目标偏移地址;如果值为0,则将下一条指令的偏移地址装入指令指针IP。例如下面程序段,为了检测AX寄存器中是正数还是负数,将AX的值和0相减,执行后相应标志寄存器中的CF、SF、ZF、PF、OF和AF标志位就会按照计算结果置为相应值,例如,如果AX值大于或等于0,SF标志为0,否则,SF标志为1等。指令JGE L1执行的操作是检查逻辑表达式SF XOR OF的值。如果值为1,则将指令指针IP值修改为标号L1代表的偏移地址;如果检查结果的值为0,则将下一条指令的偏移地址装入指令指针IP。
CMP AX, 0
JGE L1
MOV DL, -
JMP OUTPUT
L1: MOV DL, +
OUTPUT: MOV AH, 02H
INT 2
原创力文档

文档评论(0)