汇编语言8精要.pptVIP

  • 2
  • 0
  • 约2.16千字
  • 约 11页
  • 2017-05-07 发布于湖北
  • 举报
汇编语言8精要

* 例3-9 将显示器缓冲区的内容传送到dBuf变量中,长度为2000字,然后将显示器缓冲区写入空格,完成清屏功能。 3.6.2.7 程序控制类指令 程序控制类就是指改变了程序执行顺序的指令,也就是通过改变IP或CS、IP的值,以达到控制程序执行顺序的目的。 控制类转移指令包括五类指令,即: 无条件转移 条件转移指令 循环控制指令 子程序调用与返回指令 中断指令 1. 无条件转移 形式:JMP OPRD 功能:若OPRD为16位数,则IP?OPRD,实现段内转移; 若OPRD为32位数,则IP?OPRD低16,CS? OPRD高16, 实现段间转移。 该指令有如下3种形式: JMP 标号 ;若标号为近标号,则IP?OFFSET 标号,实现段内的转移 ;若为远标号,则IP?OFFSET 标号,CS?SEG 标号, 实现段间的转移 JMP R16 ;IP?(R16),实现段内的转移 JMP M ;若M为字单元,则IP?(M),实现段内转移 ;若M为双字单元,则IP?(M低16),CS?(M高16), 实现段间转移 2. 条件转移指令 条件转移语句实现段内的短转移,即转移语句与转向语句 之间最大距离为+127或-128字节。 条件转移指令是一组极其重要的转移指令。 条件转移指令分为三大类: 基于无符号数的条件转移指令; 基于有符号数的条件转移指令; 基于算术标志位的的条件转移指令。 1)无符号数关系的判断的条件转移 (1)JA/JNBE—大于转移指令 形式:JA/JNBE 标号 功能:若大于(CF OR ZF=0)转移到标号处执行,否则顺序执行。 (3)JB/JNAE—小于转移指令 形式:JB/JNAE 标号 功能:若小于(CF=1)转移到标号处执行,否则顺序执行。 (4)JBE/JNA—小于等于转移指令 形式:JBE/JNA 标号 功能:若小于(CF OR ZF=1)转移到标号处执行,否则顺序执行。 (5)JE/JZ—等于转移指令 形式:JE/JZ 标号 功能:若等于(ZF=1)转移到标号处执行,否则顺序执行。 (6)JNE/JNZ—不等于转移指令 形式:JNE/JNZ 标号 功能:若不等于(ZF=0)转移到标号处执行,否则顺序执行。 2)符号数关系的判断的条件转移 (1)JG/JNLE—大于转移指令 形式:JG/JNLE 标号 功能:若大于((SF XOR OF)OR ZF=0)转移到标号处执行, 否则顺序执行。 (2)JGE/JNL—大于等于转移指令 形式:JGE/JNL 标号 功能:若大于等于((SF XOR OF)=0)转移到标号处执行, 否则顺序执行。 (3)JL—小于转移指令 形式:JL/JNGE 标号 功能:若小于((SF XOR OF)=1)转移到标号处执行, 否则顺序执行。 (4)JLE—小于等于转移指令 形式:JLE/JNG 标号 功能:若小于等于((SF XOR OF)OR ZF=1)转移到标号处执 行,否则顺序执行。 3)标志位的判断的条件转移 (1)JC—有进位转移指令 形式:JC 标号 功能:有进位(CF=1)转移到标号处执行,否则顺序执行。 (2)JNC—无进位转移指令 形式:JNC 标号 功能:无进位(CF=0)转移到标号处执行,否则顺序执行。 (3)JO—溢出转移指令 形式:JO 标号 功能:溢出(OF=1)转移到标号处执行,否则顺序执行。 (4)JNO—无溢出转移指令 形式:JNO 标号 功能:溢出(OF=0)转移到标号处执行,否则顺序执行。 (5)JP/JPE—偶性转移指令 形式:JP/JPE 标号 功能:若结果的低8位有偶数个“1”(PF=1)转移到标号处执行, 否则顺序执行。 (6)JNP/JPO—奇性转移指令 形式:JNP/JPO 标号 功能:若结果的低8位有奇数个“1”(PF=0)转移到标号处执行, 否则顺序执行。 (7)JS—负符号转移指令 形式:JS 标号 功能:若结果为负(SF=1)转移到标号处执行,否则顺序执行。 (8)JNS—正符号转移指令 形式:JNS 标号 功能:若结果为正(SF=0)转移到标号处执行,否则顺序执行。 (9)JCXZ—计数零转移指令 形式:JCXZ 标号 功能:若CX=0转移到标号处执行,否则顺序执行。 例3-10 判断从键盘输入的ASCII码是字母还是数字,若是字母显 示“C”,若是数字显示“D”。假设输入的字符只可能是字母或数字。 * * * * * * *

文档评论(0)

1亿VIP精品文档

相关文档