汇编语言第2章分解.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 IBM PC微型计算机基本构成;微处理器 CPU;1、中央处理器CPU;计算机存储信息的基本单位是一个二进制位,一位可存储一个二进制数0或1。每8位组成一个字节(BYTE)。;习惯上将CPU与主存储器合称为主机;3、输入输出设备及接口;4、系统总线;二、 Intel 8086/8088 CPU的功能结构;1. 串行方式;2.指令流水线方式;;(1)执行单元EU;(2)总线接口单元BIU;Intel 8086/8088 运行时执行过程大致如下图所示。;2. 2 Intel 8086/8088CPU寄存器结构及其用途; Intel 8086/8088有8个16位通用寄存器,它们可以用作某个特定的功能,并且还具有良好的通用性,可以由程序设计人员进行编程访问。; 在有些指令中,不需要明确指出使用的寄存器名,即隐含使用了某寄存器,称为隐含使用。;2. 指针寄存器;3. 变址寄存器;二、段寄存器;CPU在访问存储器时必须指明两个内容:;三、指令指针IP;例如,下面两种指令就可以自动改变IP寄存器的内容。;四、标志寄存器;1. 进位位CF;2. 奇偶位PF;3. 辅助进位位AF;6.溢出位OF BB B;7. 单步标志位TF(Trace Flag);8. 中断允许位IF;问题思考: 在不进行人工设置的情况下,进行加法运算时,为什么CF、OF、SF不可能是010,也不可能是111?;问题思考: 两数相减时如何判断溢出?;计算 50 D – (-117 D) = 167 D;2.3 存储器组织结构;这一兆字节存储单元的地址范围为:00…...0~11…...1。;4. 任何两个相邻字节单元就构成一个字单元;8086/8088系统的存储器段结构具有以下几个特点:;2. 每个段的基址必须是一个小节的首址。;3. 逻辑段在物理存储器中可以是邻接的、间隔的、部分重叠的和完全重叠的等4种情况。;4、在任一时刻,一个程序只能访问4个当前段中的内容。;2. 逻辑地址;逻辑地址的表示方法;0915H;4.逻辑地址的来源;说明:;问题思考: 8086微机最多可以有多少个不同的“段基址”?为什么? ;问题思考: 已知8086系统某存储单元物理地址为12345H,写出4个可以与它对应的“逻辑地址”。在这些可以与它对应的“逻辑地址”中,段基值最大值,最小值分别是多少? ;可以与物理地址12345H对应的逻辑地址有: 1234H:0005H, 1233H:0015H, 1232H:0025H, 1231H:0035H, …… ; 可以与物理地址12345H对应的逻辑地址中,段基值的最大值为1234H,最小值为0235H。 分析:偏移地址取最大值时,对应的段基值为最小。偏移地址可选的最大值为0FFF5H(最后一位必须为5),因此最小的段基值=(12345H-0FFF5H)/10H=0235H。 偏移地址取最小值时,对应的段基值最大。偏移地址可选的最小值为0005H(最后一位必须为5),因此最大的段基值=(12345H-0005H)/10H=1234H。 ;2.4 堆栈及其操作方法;堆栈; 在堆栈中存取数据的规则是:“先进后出FILO”(First-In Last-Out)。即最先送入堆栈的数据要到最后才能取出,而最后送入堆栈的数据,最先取出。; 堆栈顶部由椎栈指针SP指示。SP中内容始终表示堆栈段基址与栈顶之间的距离(字节数)。当SP内容为最大值时,表示堆栈为空。而当(SP)=0时,表示堆栈全满。;三、 堆栈操作;2.进栈PUSH;(2)将要存储的内容(寄存器或存储单元的内容)送入SP指向的字单元中。(SP)=数据;3.出栈POP;(2)堆栈指针SP内容加2,即:SP=(SP)+2;问题思考: 指令“POP AL”正确吗?;问题思考: 定义堆栈段长度为100字节。当堆栈为空时,(SP)= ? 。而当堆栈全满时,(SP)= ? 。;问题思考: 设:(AX)=10FC H (BX)=10FD H (SP) =10FE H 执行下列操作后, (SP)= ? (AX)= ? (BX) = ? 1、PUSH AX ;将AX压入堆栈 2、PUSH BX ;BX压入堆栈; 3、POP AX ;将数据弹入AX。;P40 2.2

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档