80X86汇编语言程序设计 8086 8088寻址方式和指令系统.doc

80X86汇编语言程序设计 8086 8088寻址方式和指令系统.doc

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

80X86汇编语言程序设计 第二章 8086/8088寻址方式和指令系统(3~20) 一.8086/8088寄存器组: (14个16位寄存器,8个8位寄存器) 1.数据寄存器:AX(AH.AL). AX和AL是累加器。用累加器进行计算操作时间最短。 BX(BH.BL). BX又叫基址寄存器。唯一作为存储器指针的寄存器。 CX(CH.CL). CX控制循环的次数。CL保存移位的位数。 DX(DH.DL). DX用于做32位乘除法时,存放被除数或保留余数。 2.指针寄存器:SP堆栈指针. 保存堆栈指针栈顶地址。 BP基址指针. 3.变址寄存器:SI源地址. DI目的地址. 变址和指针寄存器主要用于存放某个存储单元地址的偏移,或某组存储单元开始地址的偏移,即作为存储器指针使用。 通用寄存器由数据寄存器.指针寄存器.变址寄存器构成。 4.控制寄存器:IP指令指针. 指令指针IP给出接着要执行的指令在代码段中的偏移。 FLAG标志寄存器.包含了9个标志,主要用于反映处理器的状态和运算结果的某些特征。 (1)运算结果标志 进位标志CF(Carry F);零标志ZF(Zero F);符号标志SF(Sign F);溢出标志OF(Over F);奇偶标志PF(1的个数为偶数,则PF被置1);辅助进位标志AF; (2)状态控制标志 方向标志DF;中断允许标志IF;跟踪标志TF。 5.段寄存器: CS代码段. DS数据段. SS堆栈段. ES附加段. 二. 存储器分段和地址的形成: 1.存储单元的地址和内容 地址是用二进制数来表示的,它是无符号整数,书写格式为十六进制数。 16位二进制数可以表示2的16次方,也就是0~65535的地址范围。65536个字节单元的存储容量是64K。一个存储单元中存放的信息成为该存储单元的内容。 字单元的地址采用它的低地址来表示,并采用“高高低低”的原则。四个连续的字节单元就构成了一个双字单元。 2.存储器地址的分段及物理地址的形成 8086/8088 CPU有20根地址线,可直接寻址的物理地址为2的20次方也就是1M字节(用16进制数表示1M字节的地址范围是00000~FFFFF)。所以,要访问1M字节空间的存储器必须有20位地址。 CPU采用存储器地址分段的办法来提供20位地址。从0地址开始,每16个字节为一小段(16的倍数)。 IBMPC机对段的起始地址有所限制,段不能起始于任意地址,而必须从任一小段的首地址开始。 在16进制表示的地址中,最低位是0(即20位地址的低4位为0)。{00000,00010,00020,00030,…000F0,…FFFE0,FFFF0,} - 在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址。称为:该存储单元的物理地址。 把存储单元的地址与所在段的起始地址的差称为段内偏移,称为偏移。 在整个1M地址空间中,存储单元的物理地址等于段起始地址加上偏移。 物理地址=段*16+偏移 20位物理地址=16位段地址+16位偏移地址。 指令中不使用物理地址,而是使用逻辑地址,由总线接口单元BIU按需要根据段值和偏移自动形成20位物理地址。 3.段寄存器的引用 计算机在取指令的时候,自动引用代码段寄存器CS,再加上由IP所给出的16位偏移,得到要取指令的物理地址。 当涉及到一个堆栈操作时,则自动引用堆栈寄存器SS,再加上由SP所给出的16位偏移,得到堆栈操作所需要的物理地址。当偏移涉及BP寄存器时,缺省引用段寄存器SS。 在存取一个普通存储器操作数时,则自动选择数据寄存器DS或附加段寄存器ES,再加上16位偏移,得到存储器操作数的物理地址。 三.8086/8088的寻址方式: 计算机是通过执行指令序列来解决问题的,因而每种计算机都有一组指令集提供给用户使用,这组指令集就称为计算机的指令系统。计算机中的指令由操作码字段和操作数字段两部分组成。 汇编语言是一种符号语言,它用助记符来表示操作码,用符号或符号地址来表示操作数或操作数地址。它与机器指令一一对应。 寻址方式:表示指令中用于说明操作数所在的地址的方法 8086/8088有七种基本的寻址方式,下面介绍这七种寻址方式: 1.立即寻址方式 操作数就包含在指令中,它作为指令的一部分,跟在操作码后存放在代码段。(源操作数)这种操作数称为立即数。 例如:指令:mov ax,1234H mov

文档评论(0)

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

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

1亿VIP精品文档

相关文档