汇编 第一章 基础知识.ppt

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

* 代码段:处理器利用CS:IP取得下一条要执行的指令 PA=(CS)左移4位+(IP) 堆栈段:处理器利用SS:SP操作堆栈顶的数据 PA=(SS)左移4位+(SP) 处理器利用SS:BP操作堆栈中某一单元的数据 PA=(SS)左移4位+(BP) 数据段和附加数据段: 处理器利用DS:EA(ES:EA)存取数据段中的数据 PA=(DS或ES)左移4位+该变量的偏移地址 总 结 * FLAGS标志寄存器各位的意义 条件标志(6位) (结果的状态信息) OF 溢出标志 SF 符号标志 ZF 零标志 CF 进位标志 AF 辅助进位标志 PF 奇偶标志 控制标志(3位) DF 方向标志 IF 中断标志 TF 跟踪标志 OF DF IF TF SF ZF AF PF CF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 * 条件标志:反映一条算术逻辑指令执行完后所得运算结果特征 1 运行结果为负 1 运行结果为0 SF= ZF= 符号 0 否则 零 0 否则 1 补码加运算时两数符号相同,但结果符号相反 OF= 溢出 0 否则 1 运算结果有从最高位向更高位的进位或借位 CF= 进位 0 否则 1 字节运算时,低半字节向高半字节有进位或借位 字运算时,低字节向高字节有进位或借位 AF= 辅助进位 0 否则 1 运算结果(指低8位)中1的个数为偶数 PF= 奇偶 0 否则 * 溢出和进位 进位标志CF表示无符号数运算结果是否超出范围,运算结果仍然正确; 溢出标志OF表示有符号数运算结果是否超出范围,运算结果已经不正确。 例1:3AH + 7CH=B6H 无符号数运算:58+124=182 范围内,CF=0 有符号数运算:58+124=182 范围外,OF=1 例2:AAH + 7CH=(1)26H 无符号数运算:170+124=294 范围外,CF=1 有符号数运算:-86+124=38 范围内,OF=0 * 例:设n=8,X1=-0100 0010B(-66), X2=0110 1101B(109),求[X1]补-[X2]补。 解:[X1]补-[X2]补= [X1]补+[-X2]补 = 1011 1110B + 1001 0011B = 1 0101 0001B 结果:CF=1,OF=1 判断溢出与进位简单的规则: 溢出条件:加运算时两数符号相同,但结果符号相反 进位条件:运算结果有从最高位向更高位的进位或借位 * 如何运用溢出和进位 处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志CF;同时,根据是否超出有符号数的范围设置溢出标志OF。 应该利用哪个标志,则由程序员来决定。也就是说,如果将参加运算的操作数认为是无符号数,就应该关心进位CF;认为是有符号数,则要注意是否溢出OF。 上例用于有符号数操作,所以程序员判断结果是否正确应根据OF标志位。 * 控制标志: 1 从高地址向低地址处理数据串(指令STD) DF= 方向 0 从低地址向高地址处理数据串(指令CLD) 1 CPU开中断,即CPU响应外设的中断请求(指令STI) IF= 中断 0 CPU关中断,即CPU屏蔽中断请求(指令CLI) 1 CPU处于单步工作方式 TF= 跟踪 0 CPU处于正常连续工作方式 * 例: MOV AX, 1 MOV BX, 2 ADD AX, BX 指令执行后: (AX)=3, OF=0, CF=0, ZF=0, SF=0,

文档评论(0)

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

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

1亿VIP精品文档

相关文档