汇编语言程序设计2.ppt

汇编语言程序设计2.ppt

ID:48178150

大小:724.50 KB

页数:49页

时间:2020-01-16

汇编语言程序设计2.ppt_第1页
汇编语言程序设计2.ppt_第2页
汇编语言程序设计2.ppt_第3页
汇编语言程序设计2.ppt_第4页
汇编语言程序设计2.ppt_第5页
资源描述:

《汇编语言程序设计2.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、汇编语言程序设计AssemblyLanguageProgramming第二章80x86计算机系统组织计算机的基本结构CPURegisterMemory内存特性分段技术2.1计算机基本结构中央处理机CPU总线控制逻辑接口接口存储器大容量存储器I/O设备I/O子系统系统总线组成:算术逻辑部件、控制部件和寄存器组。CPU的作用:执行算术与逻辑运算。控制指令的执行。编程结构:对汇编语言程序员来说,关心的是其中的寄存器。CPU总线是部件之间进行数据(电信号)交换的通道。80x86计算机的系统总线分为3类:数据总线地址总线控制总线系统总线数据总线数据总线是用来传递数据的,定义了CPU在每个

2、内存周期所能存取数据的位数。80x86系列CPU的数据总线为8位、16位、32位或64位。这就是“为什么通常的数据存取是以8位、16位、32位或64位进行的”。数据总线越宽,处理能力越强。具有N位数据总线并不意味着CPU只能处理N位数据。系统总线地址总线地址总线用来指出数据的地址(内存或I/O)。地址总线的位数决定了最大可编址的内存与I/O空间。对于N位地址总线,CPU可以提供2N个不同地址:0~2N-1。地址总线由内存与I/O子系统共享使用(I/O只用低16位)。(如何区分?)控制总线控制总线用来控制CPU与内存和I/O设备之间的数据传送方式(如传送方向)。系统总线内存是存放

3、指令和数据的部件,由若干内存单元构成。80x86的内存以字节编址:每个内存单元有唯一的地址,可存放1个字节。内存单元的2个要素:地址(编号)与值(内容)。(100H)=34H1个字占据2个相邻的内存单元;低字节在低地址单元,高字节在高地址单元;字的地址由其低地址来表示。双字也类似。同一地址可以看作是字节、字或双字单元的地址。(?)内存I/O子系统通过接口电路与微机系统连接I/O接口由若干寄存器组成:数据寄存器、状态寄存器、命令寄存器I/O端口:即I/O地址,是区分I/O设备及其寄存器的编号。汇编语言程序员看到的,是端口8086计算机采用16位表示I/O端口I/O端口与内存地址如

4、何区分?I/O子系统2.280x86的寄存器组8086/8088中共有14个16位寄存器寄存器在CPU内部,所以访问速度快。但容量小外存内存寄存器CPU寄存器与存储器的比较:寄存器存储器在CPU内部在CPU外部访问速度快访问速度慢容量小,成本高容量大,成本低用名字表示用地址表示没有地址地址可用各种方式形成专用寄存器数据寄存器:AX/BX/CX/DX存放任何数据信息。暂存计算的中间结果,数据中转站。每个寄存器又有它们各自的专用目的:AX(Accumulator)——累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;BX(Base)——基址寄存器,常用做存放存储器地址;

5、CX(Count)——计数器,作为循环和串操作等指令中的隐含计数器;DX(Data)——数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。16位一分为二AHALAXBHBLBXCHCLCXDHDLDXAX=1234HAH=12HAL=34HAX=CDABHAH=CDHAL=ABH80386及其后继:EAX,EBX,ECX,EDXEAX=12345678HAX=5678HAH=56HAL=78HAXAHALEAXBXBHBLEBXCHCLECXDHDLEDXCXDX变址寄存器:SI/DI变址寄存器常用于存储器寻址时提供地址串操作类指令中,SI(SourceIndex

6、)是源变址寄存器串操作类指令中,DI(DestinationIndex)是目的变址寄存器16位,不可拆分使用80386及其后继:ESI,EDI指针寄存器:SP/BP指针寄存器用于寻址内存堆栈内的数据SP(StackPointer)为堆栈指针寄存器,指示栈顶的偏移地址SP不能再用于其他目的,具有专用目的BP(BasePointer)为基址指针寄存器,表示数据在堆栈段中的基地址SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址80386及其后继:ESP,EBP段寄存器:CS/DS/SS/ES8086CPU的4个16位的段寄存器代码段寄存器CS(CodeSegment

7、)数据段寄存器DS(DataSegment)堆栈段寄存器SS(StackSegment)附加数据段寄存器ES(ExtraSegment)段寄存器用来确定该段在内存中的起始地址。用途特定,不可分开使用。80386及其后继:FSGSIP(InstructionPointer)指令指针寄存器IP,指示代码段中指令的偏移地址它与代码段寄存器CS联用,确定下一条指令的物理地址计算机通过CS:IP寄存器来控制指令序列的执行流程IP寄存器是一个专用寄存器,程序一般不可直接使用该寄存器。80386及其后继:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。