汇编语言我程序设计第二章课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言我程序设计第二章课件

第二章 32位PC汇编程序设计环境 2.1 32位可编程寄存器体系 32位CPU包含有通用寄存器、段寄存器、标志寄存器EFLAGS、指令指针寄存器EIP、算术逻辑单元(ALU)及控制部件等。 2.1.1 通用寄存器 32位寄存器的低16位分别包含AX,BX,CX,DX,SI,DI,BP,SP寄存器。同样,16位的寄存器又分别包含AH,AL,BH,BL,CH,CL,DH,DL寄存器,分别对应AX,BX,CX,DX的高8位与低8位。 例2.1 已知AH的内容为75H,AL的内容为72H,则AX的内容为7572H;BX的内容为4612H,BL的内容为12H。求执行传送指令 MOV BX,AX 之后,BX、BH、BL、AH、AL的值。 例2.2 已知DH=10H, CL=48H, 求执行加法指令 ADD CL,DH 之后CL和DH的值。 通用寄存器的用途(1) 累加器AX(Accumulator):存放每次算法运算的结果,字节累加器为AL。 基址器BX(Base):地址计算时,用作存放基地址的寄存器。 计数器CX(Count):某些指令隐含的计数器,个别指令隐含用CL作计数器。 数据寄存器DX(Data):即端口地址寄存器,某些输入/输出(I/O)操作用来存放外部设备的I/O地址。 源变址器SI(Source Index)和目的变址器DI(Destination Index)均是变址寄存器,可对地址进行增量或减量计算,方便于变址的管理。 基址指针BP(Base Pointer):作为堆栈数据存取操作的基本地址指针寄存器。 栈指针SP(Stack Pointer):堆栈指针寄存器,指示堆栈的当前偏移地址。即从堆栈当前存储单元的地址到堆栈底端的距离(字节数)。 通用寄存器的用途(2) 32位通用寄存器是在16位通用寄存器AX,BX,CX,DX,SI,DI,BP,SP的基础上向左扩展16位寄存器而形成的。 例2.3 已知EAX的内容,EBX的内容,求执行减法指令 SUB EAX,EBX之后EAX,AX, AL, EBX, BX, BH的值。 2.1.2 基本控制寄存器(1) 标志寄存器EFLAGS又称为程序状态字寄存器PSW(Program Status Word),如图2.1所示。每一位代表程序的某种状态。 基本标志寄存器是指0~11的标志位,分为条件标志和控制标志。 (1)条件标志用来反映ALU中算术逻辑运算后的结果特征,共有6个,分别为: 符号标志位SF(Sign Flag):设置成运算操作结果的符号状态。当结果为负时,SF=1;否则SF=0, 零标志ZF(Zero Flag):运算结果为0时,ZF=1,否则ZF=0 辅助进位标志AF(Auxiliary Carry Flag):运算过程中第3位有进位值,置AF=1,否则AF=0 2.1.2 基本控制寄存器(2) 奇偶标志PF(Parity Flag):当结果操作数中有偶数个“1”时,置PF=1;否则,PF=0,这个标志位可用于检验机器代码传送是否出错。 进位标志CF(Carry Flag):记录运算操作时由最高有效位产生的进位值。例如,执行加法指令时,如果向高位有进位,则CF=1,否则CF=0 溢出标志OF(OverFlow Flag): 运算时,或结果操作数结果超出了机器能表示的范围,则产生溢出,置OF=1, 否则,OF=0 基本控制寄存器(3) 例2.4 执行下面两个加法后,判定各个条件标志位值。 基本控制寄存器(4) 控制标志的功能是控制执行特殊的功能,包括3个标志。 1. 方向标志DF(Direction Flag)用于字符串操作指令的控制。DF设置为0,则串操作控制处理的方向,是从带有最低地址的第一个元素开始逐个处理;若DF=1,则串操作从高地址向低地址方向逐个进行处理串元素。 基本控制寄存器(5) 中断允许标志IF(Interrupt Enable Flag) IF=1时,CPU允许中断;IF=0,则CPU关闭中断。 跟踪标志TF(Trap Flag) 如果TF=1,机器进入单步工作方式,每条指令执行后,显示结果及寄存器等有状态;若TF=0,则机器处于连续工作方式。此标志为调试机器或调试程序发现故障而设置。 基本控制寄存器(6) 指令指针IP(Instruction Pointer)指出了程序执行过程中的当前要取出的下条指令的地址。当取出一条指令后,IP自动的加上该指令的长度或者形成转移地址,又指示下一条指令的地址。从而控制指令的执行流程。 在主存中采用分段管理方法。段寄存器存放

文档评论(0)

186****0772 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档