第2章 汇编语言基础与组成原理.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1 微型计算机系统 2.1.1 微型计算机系统概念 汇编语言与微型计算机系统密切相关。先来明确汇编语言的学习内容。第1章中提到的三条汇编指令: MOV AX,35 ADD AX,27 MOV Z,AX 这几条指令中涉及到寄存器(AX)、加法运算、存储单元(Z)、数据的获取和传送、指令的存放等内容。 2.1.2 微处理器 微处理器分为执行部件EU和总线接口部件BIU两部分。 执行部件EU中包含运算器的算术逻辑运算单元ALU、通用寄存器组、标志寄存器FLAGS、EC单元控制系统等; 总线接口部件BIU包含段寄存器组(CS、DS、ES、SS)、指令指针寄存器IP、指令队列单元、地址加法器、总线控制系统等。 2.2 80X86寄存器 2.2.1 8086寄存器组 数据寄存器:包括AX、BX、CX、DX四个16位的通用寄存器。 其中DX存放高字(高16位),AX存放低字(低16位)。数据寄存器中每个寄存器又可以分为2个8位的寄存器。分别为AH、AL,BH、BL,CH、CL,DH、DL。AH为高字节(高8位)寄存器、AL为低字节(低8位)寄存器。 表示为(DX)=2345H,(AX)=6789H,存放形式为: 地址寄存器 包括指针和变址寄存器SI、DI、SP、BP四个16位寄存器。顾名思义,它们可用来存放存储器的偏移地址。另外,它们也可以作为通用寄存器用。严格地说,用来存放存储器偏移地址的寄存器都应该叫地址寄存器,如BX基址寄存器、IP指令指针寄存器等。 SI 源变址寄存器,可用于存放源缓冲区的偏移地址。 DI 目的变址寄存器,可用于存放目的缓冲区的偏移地址。 段寄存器 CS 代码段寄存器,用于指出存放程序的代码段的段地址。 DS 数据段寄存器,用于指出存放数据的数据段的段地址。 ES 附加段寄存器,用于指出存放附加数据的附加段的段地址。 SS 堆栈段寄存器,用于指出堆栈区的堆栈段的段地址。 控制寄存器 FLAGS标志寄存器:其中的某位代表CPU的一个标志,最低位为D0,最高位为D15。8086CPU的标志寄存器共有9个标志,分别为6条件码标志和3控制标志。其含义如下: ????? 在DEBUG调试环境下以字母缩写的形式表示各个标志位的状态。 进入DEBUG后,用R命令查看寄存器状态时,可以看到除了陷阱标志以外的标志位的状态。如表2-1所示。 例1 两个二进制数相加运算,有关标志位自动发生变化。 + CPU会自动地把标志位设为:CF=0,SF=1,ZF=0,OF=0,即无进位,结果为负数,结果不为0,没有溢出。 练习:写出下列二进制运算的结果以及标志位的变化: (1)00110011 (2)10100011 2.2.2 80X86寄存器组 Intel 8086、80286都是16位的寄存器。 从80386开始,寄存器扩展为32位。 2.3 内存储器 2.3.1 物理地址与逻辑地址 1 地址 CPU对内存的访问是通过地址总线进行 的,地址总线的每一个二进制组态对应一 个存储单元,可作为该存储单元的地址。 在80X86系统中一个实际的存储单元只 存放8位二进制数,称为字节单元。 地址位数与存储空间有如下的关系 : 若系统只有1根地址线A0: 则A0上有两个不同的信号0和1,可以表示0号和1号两个存储单元。 若系统有2根地址线A1、A0: 则有四个不同的信号组合00、01、10、11,可以表示0号~3号四个存储单元。 若系统有10根地址线A9~A0: 则有0号~1023号不同组合,可以表示1024个存储单元,寻址空间达到1KB。B(Byte)表示字节单元。 可以看出,若地址位数为n,则地址空间的大小为2n个存储单元。 2.物理地址 物理地址是内存单元的真实地址。存储单元的物理地址是唯一的。 Intel8086CPU有20根地址线,因此其存储空间可达220=1M字节单元。在20位地址线的存储空间中采用十六进制表示的物理地址范围是00000H~FFFFFH。 3.逻辑地址 逻辑地址是用户编程时使用的地址,分为段地址和偏移地址两部分。 在8086汇编语言中,把内存地址空间划分为若干逻辑段,每段由一些存储单元构成。 例1 用十六进制分别表示的三个逻辑地址如下: 3020:055AH 3021:054AH 2C43:432AH 4.逻辑地址与物理地址的转换 用户编程时采用的逻辑地址在CPU执行程序时都要转换成实际的物理地址,这个转换过程是由CPU中的地址加法器自动完成的。

文档评论(0)

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

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

1亿VIP精品文档

相关文档