- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
溢出的判断1 判断运算结果是否溢出有一个简单的规则: 只有当两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;因为,此时的运算结果显然不正确 其他情况下,则不会产生溢出 例1:3AH+7CH=B6H 溢出 例2:AAH+7CH(带符号-86+124=28 ) 无溢出 例3:3AH-7CH (带符号58-124=54) 无溢出 例4:AAH-7CH=2DH (带符号-86-124=-220 ) 溢出 溢出的判断2 奇偶标志PF(Parity Flag) 当运算结果最低字节中“1”的个数为零或偶数时,PF=1;否则PF=0 8位二进制数相加01111100十六进制表达:3A+7C=B6 转换成十进制数:58+124=182 “1”的个数为5个:PF=0 举例 5是奇数 仅最低8位“1”的个数 辅助进位标志AF(Auxiliary Carry Flag) 加减运算时低4位有进位或借位时,AF=1,否则AF=0。 AF标志主要由微处理器内部使用,用于十进制算术运算指令中。 8位二进制数相加01111100转换为十进制:58+124=182 对于无符号数,结果在0-255之间,CF=0 对于有符号数,结果超出-128-+127,OF=1,ZF=0,SF=1,PF=0 举例 控制标志 控制标志可以由程序根据需要用指令设置,控制处理器执行指令的方式。 方向标志DF(Direction Flag) 仅用于串操作指令中,控制地址的变化方向 设置DF=0,存储器地址自动增加 设置DF=1,存储器地址自动减少 CLD指令复位方向标志:DF=0 STD指令置位方向标志:DF=1 中断允许标志IF(Interrupt-enable Flag) 控制外部可屏蔽中断是否可以被处理器响应 设置IF=1,允许中断; 设置IF=0,禁止中断 CLI指令复位中断标志:IF=0 STI指令置位中断标志:IF=1 陷阱标志TF(Trap Flag)=单步标志 控制处理器是否进入单步操作方式 设置TF=1,处理器单步执行指令,对程序进行逐条调试 设置TF=0,处理器正常工作 单步标志 单步中断 单步调试 走一步看一看 单步执行指令——处理器在每条指令执行结束时,便产生一个编号为1的内部中断 这种内部中断称为单步中断 所以TF也称为单步标志 利用单步中断可对程序进行逐条指令的调试 这种逐条指令调试程序的方法就是单步调试 寄存器的总结 8086有8个8位通用寄存器、8个16位通用寄存器 8086有6个状态标志和3个控制标志 8086将1MB存储空间分段管理,有4个段寄存器,对应4种逻辑段 8086有4个段超越前缀指令,用于明确指定数据所在的逻辑段 熟悉上述内容后,就可以进入下节 实地址方式 IA-32固有工作方式,与8086具有相同的基本结构 只能寻址1MB物理存储器空间 逻辑段最大不超过64KB 段基地址和偏移量都用16位表示 可使用32位寄存器、32位操作数和32位寻址方式 保护方式 能发挥其全部功能 充分利用段页式存储管理和特权与保护能力 可寻址4GB物理存储器 段基地址和段内偏移量都是32位 虚拟方式 保护方式下的类似实方式的运行环境 在1MB存储空间下使用“16位段” 16位段 32位段 3.2.3 IA-32的工作方式 8088的内部结构 1 2 3 4 内部暂存器 IP ES SS DS CS 输入/输出控制电路 总线 执行部分控制电路 ∑ ALU 标志寄存器 AH AL BH BL CH CL DH DL SP BP SI DI 通用 寄存器 地址加法器 指令队列 执行部件 (EU) 总线接口部件 (BIU) 16位 20位 8位 8位 图2-5 8088的存储格式 D7 D0 字节 D15 D0 字 D31 D0 双字 D7 D0 00006H 78H 00005H 56H 00004H 12H 00003H 34H 00002H 00001H 00000H 低地址 LSB MSB 8088的指令执行过程 * 链接4,5 * 这一机构的设置,可以减少每次在循环操作时,对循环条件的判断所占用的CPU的时间。当指令被译码后,CPU首先对BTB进行检索,以确定其中是否保存着一个与转移指令相对应的登记项。 若有,再进一步根据每个目标地址多达4个的历史位进行分支预测。 如果不转移,则按照顺序将指令取到预取缓冲器; 否则,将根据BTB的预测将分支目标处的指令预取出来,从而不会造成指令流水线陷于混乱
文档评论(0)