汇编语言2-18086指令系统.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言2-18086指令系统

第 2 章 教学重点 第2章是本课程的一个关键内容,是程序设计的基础 基础是熟悉寄存器组 难点是各种寻址方式 重点是掌握8086常用指令的功能及应用 什么是指令系统 计算机的指令系统就是指该计算机能够执行的全部指令的集合 每种计算机都有它支持的指令集合 16位8086指令系统是Intel 80x86系列微处理器指令系统的基础 调试程序DEBUG DEBUG是常用的汇编语言级调试工具,为汇编语言程序员提供了分析指令、跟踪程序的有效手段 常用命令: -A 汇编 -U 反汇编 -T 单步执行 -G 断点执行 -D 数据显示 -R 寄存器 上机指导基本要求(1) 1. 调试各种寻址方式的MOV指令 2. 调试例题2.8,完成习题2.15 3. 调试例题2.17,完成习题2.16 4. 调试例题2.31,完成习题2.21 5. 调试例题2.36和2.39,完成习题2.26 6. 调试例题2.47,完成习题2.39 7. 调试例题2.49 上机指导基本要求(2) 8. 用命令行开发方式完成例题3.1 9. 调试例题3.3,完成习题3.17 10. 完成习题3.24、习题3.25 11. 调试例题4.4,完成习题4.12 12. 调试例题4.7,完成习题4.24 13. 调试例题4.10,完成习题4.34 14. 调试例题4.13 15. 完成习题4.57 2.1 8086的寄存器组 对程序员来说,8086内部结构的最重要的是其寄存器组 8个通用寄存器 1个指令指针寄存器 1个标志寄存器 4个段寄存器 8086内部结构 2.1.1 8086的通用寄存器 8086的16位通用寄存器是: AX BX CX DX SI DI BP SP 其中前4个数据寄存器都还可以分成高8位和低8位两个独立的寄存器 8086的8位通用寄存器是: AH BH CH DH AL BL CL DL 对其中某8位的操作,并不影响另外对应8位的数据 数据寄存器 数据寄存器用来存放计算的结果和操作数,也可以存放地址 每个寄存器又有它们各自的专用目的 AX--累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等; BX--基址寄存器,常用做存放存储器地址; CX--计数器,作为循环和串操作等指令中的隐含计数器; DX--数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。 变址寄存器 变址寄存器常用于存储器寻址时提供地址 SI是源变址寄存器 DI是目的变址寄存器 串操作类指令中,SI和DI具有特别的功能 指针寄存器 指针寄存器用于寻址内存堆栈内的数据 SP为堆栈指针寄存器,指示栈顶的偏移地址 SP不能再用于其他目的,具有专用目的 BP为基址指针寄存器,表示数据在堆栈段中的基地址 SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址 堆栈(Stack) 堆栈是主存中一个特殊的区域 它采用先进后出FILO(First In Last Out)或后进先出LIFO(Last In First Out)的原则进行存取操作,而不是随机存取操作方式。 堆栈通常由处理器自动维持。在8086中,由堆栈段寄存器SS和堆栈指针寄存器SP共同指示 指令指针IP 指令指针寄存器IP,指示代码段中指令的偏移地址 它与代码段寄存器CS联用,确定下一条指令的物理地址 计算机通过CS : IP寄存器来控制指令序列的执行流程 IP寄存器是一个专用寄存器 2.1.2 标志寄存器 标志(Flag)用于反映指令执行结果或控制指令执行形式 8086处理器的各种标志形成了一个16位的标志寄存器FLAGS(程序状态字PSW寄存器) 标志的分类 状态标志--用来记录程序运行结果的状态信息,许多指令的执行都将相应地设置它 CF ZF SF PF OF AF 控制标志--可由程序根据需要用指令设置,用于控制处理器执行指令的方式 DF IF TF 进位标志CF(Carry Flag) 当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF = 1;否则CF = 0。 3AH + 7CH=B6H,没有进位:CF = 0 AAH + 7CH=(1)26H,有进位:CF = 1 零标志ZF(Zero Flag) 若运算结果为0,则ZF = 1; 否则ZF = 0 符号标志SF(Sign Flag) 运算结果最高位为1,则SF = 1;否则SF = 0 奇偶标志PF(Parity Flag) 当运算结果最低字节中“1”的个数为零或偶数时,PF = 1;否则PF = 0 溢出标志OF(Overflow Flag) 若算术运算的结果有溢出, 则OF=1;否则 OF=0 溢出标志OF(Overflow Flag) 什么是溢出 处

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档