历安毛子种枝大学 目录 XIDIAN UNIVERSITY 分支程序设计 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 2
2 1 汇编语言基本概念 2 3 4 分支程序设计 5 总结 数据运算指令与程序设计 数据位操作指令与编程 目录 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn
历粤毛子种枚大皇 基础知识导入 XIDIAN UNIVERSITY 8086指令系统中的控制转移指令有两大类: 无条件转移指令:有JMP、CALL、RET、IRET (可以段内/间) ·条件转移指令:如JZ、JC、JCXZ、LOOP等 (只能在段内,且为short?型-指令长度为2字节) 徽机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 3
8086指令系统中的控制转移指令有两大类: • 无条件转移指令:有JMP、CALL、RET、IRET (可以段内/间) • 条件转移指令:如JZ、JC、JCXZ、LOOP等 (只能在段内,且为short型-指令长度为2字节) 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 3 基础知识导入
历些毛子代枝大学 基础知识导入 XIDIAN UNIVERSITY 段内转移=近程转移=NEAR型转移:程序转移后P发生改变, 适用于:条件/无条件转移指令 ·段内转移后,△IP=-128~127:则称为short?型转移,用一 个字节表示。 ·段间转移=远程转移=FAR型转移:程序转移后CS、IP均发 生改变,适用于:条件转移指令 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 4
微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 4 基础知识导入 • 段内转移 =近程转移=NEAR型转移:程序转移后IP发生改变, 适用于:条件 /无条件转移指令 • 段内转移后,△IP=[-128~127]:则称为short型转移,用一 个字节表示。 • 段间转移 =远程转移=FAR型转移:程序转移后CS 、IP均发 生改变,适用于:条件转移指令
历安毛子种枝大学 基础知识导入 XIDIAN UNIVERSITY 助记符格式 功能说明 与 AND DST,SRC (DST)K(DST)∧(SRC) 或 OR DST,SRC (DST)(DST)V(SRC) 异或XOR DST,SRC (DST)K(DST)⊕(SRC) 相同结果为0,不同结果为1 非 NOT DST (DST)中各位取反 测试TEST DST,SRC (DST)∧(SRC) 8086CPU操作对象是字节或字,按位运算。 NOT指令对标志位不产生影响 ,其他逻辑运算指令:CF=OF-O,ZF、SF、PF根据结果改变,AF未定义。 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 5
基础知识导入 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 5 助记符格式 功能说明 与 AND DST,SRC (DST)( DST) ∧ ( SRC) 或 OR DST,SRC (DST)( DST) ∨ ( SRC) 异或 XOR DST,SRC (DST)( DST) ⊕ ( SRC) 相同结果为0,不同结果为1 非 NOT DST (DST)中各位取反 测试 TEST DST,SRC (DST) ∧ (SRC) •8086CPU操作对象是字节或字,按位运算。 •NOT指令对标志位不产生影响 •其他逻辑运算指令:CF=OF=0,ZF、SF、PF根据结果改变,AF未定义
指令助记符 功能 PSW影响 数据来源 ADD DST.SRC (DST)-(SRC)+(DST) 正常设置6个标志位 DST:通用REG、MEM单元 SRC:通用REG、MEM单元、立即数 ADC DST,SRC (DST)-(SRC)+(DST)+(CF) 正常设置6个标志位 DST:通用REG、MEM单元 SRC:通用REG、MEM单元、立即数 INC DST (DST)-(DST)+1 正常设置CF外的5个标志位 DST:通用REG、MEM单元 对CF无影响 SUB DST,SRC (DST)-(DST)-(SRC) 正常设置6个标志位 DST:通用REG、MEM单元 SRC:通用REG、MEM单元、立即数 SBB DST.SRC (DST)-(DST-(SRC)-(CF)正常设置6个标志位 DST:通用REG、MEM单元 SRC:通用REG、MEM单元、立即数 DEC DST (DST)-(DST)-1 正常设置CF外的5个标志位 DST:通用REG、MEM单元 对CF无影响 NEG DST (DST)-0-(DST) 正常设置6个标志位 DST:通用REG、MEM单元 CMP DST.SRC (DST)-(SRC) 正常设置6个标志位 DST:通用REG、MEM单元 SRC:通用REG、MEM单元、立即数 ·SRC和DST不能同时取存储单元。 ·全部按照字型或字节型运算(byte or word) 黑色:不区分有/无符号数
指令助记符 功能 PSW影响 数据来源 ADD DST,SRC (DST) ←(SRC)+(DST) 正常设置6个标志位 DST:通用REG 、MEM单元 SRC:通用REG、MEM单元、立即数 ADC DST, SRC (DST)←(SRC)+(DST)+(CF) 正常设置6个标志位 DST:通用REG 、MEM单元 SRC:通用REG、MEM单元、立即数 INC DST (DST) ← (DST)+1 正常设置CF外的5个标志位 对CF无影响 DST:通用REG、MEM单元 SUB DST, SRC (DST) ←(DST) - (SRC) 正常设置6个标志位 DST:通用REG 、MEM单元 SRC:通用REG、MEM单元、立即数 SBB DST, SRC (DST)←(DST) - (SRC)-(CF) 正常设置6个标志位 DST:通用REG 、MEM单元 SRC:通用REG、MEM单元、立即数 DEC DST (DST) ← (DST)-1 正常设置CF外的5个标志位 对CF无影响 DST:通用REG、MEM单元 NEG DST (DST) ←0- (DST) 正常设置6个标志位 DST:通用REG、MEM单元 CMP DST, SRC (DST)-(SRC) 正常设置6个标志位 DST:通用REG 、MEM单元 SRC:通用REG、MEM单元、立即数 • SRC和DST不能同时取存储单元。 • 全部按照字型或字节型运算(byte or word) • 黑色:不区分有/无符号数