微机原理指令集合总汇.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理及接口技术常用编指令 寄存器(用来存放存储单元的段地址或偏移地址、参与运算的数据、状态标志等)相关指令 8086 CPU 中有14个16位的寄存器,这14个寄存器按照功能分为四类:通用寄存器、段寄存器组、指令指针、标志位寄存器FR。 1.通用寄存器(8个) ㈠数据寄存器: ①AX(accumulator):寄存器(累加器)它的由来来源于EAX寄存器(32位):EAX累加寄存器EAX分为高16位和低16位。其中低16位又可单独访问,命名为AX,16位寄存器AX又可单独访问,可分为高、低分别为AH、AL字节个8位。AX常用于运算;在乘法和除法中指定用来存放操作数,另外所有的I/O指令都使用这一个寄存器与外接设备传送数据。 ②BX(base):基址寄存器,寄存器(基址寄存器)它的由来来源于EBX寄存器(32位):EB X累加寄存器EBX分为高16位和低16位。其中低16位又可单独访问,命名为BX,16位寄存器BX又可单独访问,可分为高、低分别为BH、BL字节个8位。BX常用于地址索引,查表和间接寻址时存放基地址。 ③CX(count):计数寄存器,寄存器(计数寄存器)它的由来来源于ECX寄存器(32位):EC X累加寄存器ECX分为高16位和低16位。其中低16位又可单独访问,命名为CX,16位寄存器CX又可单独访问,可分为高、低分别为CH、CL字节个8位。常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器. ④DX(data):数据寄存器,寄存器(数据寄存器)它的由来来源于EDX寄存器(32位):ED X累加寄存器EDX分为高16位和低16位。其中低16位又可单独访问,命名为DX,16位寄存器DX又可单独访问,可分为高、低分别为DH、DL字节个8位。常用于数据传递。 ㈡指针和变址寄存器 这些寄存器存放的是段内的偏移量,用来形成操作数的存储地址。 SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置,SP指向栈顶。 BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置,BP指向栈的任何一单元。 SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针。 DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针,指令中SI对应DS , DI对应ES不能互换。 2.指令指针IP(Instruction Pointer)(1个) 16位的指令指针IP,用来存放下一条指令在CS(代码段寄存器)中的偏移量。当发现中断或调用时BIU【(Bus Interface Unit)总线部件,功能是取指令、读操作数和送出结果】自动将IP的偏移量压入堆栈保存,并调整IP的内容。程序不能直接访问IP,但可以通过中断、转移等指令来修改IP的内容。 3.段寄存器(Segment Register)(4个) 为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址: CS(Code Segment):代码段寄存器;存放当前执行的指令在内存中的地址段。CS和IP决定了当前指令的逻辑地址。 DS(Data Segment):数据段寄存器;存放当前数据段的段地址。DS和SI决定了字符串操作时目的操作数的地址。 SS(Stack Segment): HYPERLINK /u4MV31 \t _blank 堆栈段寄存器;存放当前数据段的堆栈地址,SS与SP决定了当前堆栈的顶部,所谓堆栈是以“后进后出”规则保存信息的一种存储机构。8086CPU的堆栈段地址在SS寄存器中,堆栈当前偏移地址在SP寄存器中,SP的初值代表了堆栈区的大小。 ES(Extra Segment):附加段寄存器。附加段是一个附加的数据段。ES和DI决定了字符串操作时目的操作数的地址。 ?4.标志位寄存器FR(Flag Regise) 8086CPU设置了一个16位的标志寄存器FR,用来显示微机的运行结果或控制机制操作,规定了其中的9位,标志的设置,FR的九个标志按作用可分为两大类:一类叫状态标志,用来表示运算结果的特征,他们是:CF、PF、AF、ZF、SF、OF。另一类叫做控制标志,用来控制CPU的操作,它们是:IP、DF、TF。 CF(carrier flag)进位标志位:运算中高四位中发生进位或错位时,CF=1;否则CF=0;STC指令可置CF=1,CLR指令对CF求反;循环指令也会影响该标志位。 DF(direction flag)方向标志位:控制串指令对字符串处理的方向。DF=0时,变址地址指针SI、DI作增量操作,即由低地址向高地址进行串操作,字节操作增量为1,字操作增量为2;DF=1时,作减量操作,即由

文档评论(0)

a336661148 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档