四.逻辑指令新版10.pptVIP

  • 0
  • 0
  • 约1.62万字
  • 约 75页
  • 2018-09-03 发布于湖北
  • 举报
四.逻辑指令新版10.ppt

4) 调用和返回指令 主 程 序 子 程 序 调 用 返 回 返回指令 返 回 、、、 、、、 、、、 、、、 调用指令 、、、 、、、 、、、 、、、 调 用 主 程 序 子 程 序 、、、 * jgyj 8086/8088 中CS和IP的变化规则: 第一条指令在内存的ROM区。 … … … … … … … … … … … … … 0000:000h FFFF:0000h 内存 1) RESET复位后, ( CS ) = FFFFH,( IP ) = 0 故8088从内存FFFF:0000H处取第一条指令执行。 * jgyj 2) 非控制转移指令,指令本身对CS和IP均无操作, 形成顺序执行结构。 BB 00 01 B1 20 90 指令1 指令2 指令3 CS:IP 顺序执行结构: 顺序存放,顺序执行 程序是指令的集合 指令在内存中顺序存放 对非控制转移指令, CPU取来一条指令后, 自动将IP的值加上该指令的字节数, 使IP顺序指向下一条指令, CPU取来紧连着的指令执行。 (此时IP的变化由CPU内部的硬件自动完成) * jgyj 3) 控制转移指令以CS和IP为主要操作对象, 改变CS和IP的值,使程序产生分支、调用结构。 指令1 指令2 指令3 指令4 39 D8 7D 02 87 C3 A3 00 20 CS:IP 分支结构、调用结构: 顺序存放,非顺序执行 CMP AX, BX JGE great XCHG AX, BX great: MOV [max], AX 、、、 控制转移指令JGE可以改变IP的值, 使程序非顺序执行 * jgyj 控制转移指令分类 掌握:JMP, JZ, JNZ, JC, LOOP CALL, RET, INT N, IRET * jgyj 控制转移指令(JMP、Jcc、LOOPxx、CALL)概述 例 JMP exit JZ zero LOOP nxet CALL display 指令格式: 助记符 操作数 助记符 JMP、Jcc、LOOPxx、CALL 操作数 给出要转移到的目的地址 * jgyj 操作数(目的地址)的三种表示方法: 目的地址在reg、mem中, 取来指令后间接得到目的地址 目的地址在指令中, 取来指令后直接得到目的地址 例 CMP AX, BX JGE great XCHG AX, BX great: MOV [max], AX 例 JMP AX JMP WORD PTR [ BX ] ①符号地址 (标号或过程名) ②寄存器reg ③存储器mem * jgyj ◢ 符号地址 : 在汇编格式指令中用符号来表示地址 可以是标号、过程名(子程名) ? 标号 指示指令所在的地址。 用 符号名: 表示。 例 CMP AX, BX JGE great XCHG AX, BX great: MOV [max], AX 根据标号与控制转移指令所在位置,标号有三种类型: SHORT 短属性 NEAR 近属性 FAR 远属性 * jgyj SHORT 短属性标号 标号与控制转移指令在同一段中, 标号的偏移地址距离控制转移指令的偏移地址(-128 ~ 127) XXXX:(yyyy-128) next: 、、、 、、、

文档评论(0)

1亿VIP精品文档

相关文档