第二章-微处理器.ppt

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

第2章 微处理器;*;*;*;*;*;*;*;*; 由于EU和BIU这两个功能部件能相互独立地工作,在大多数情况下,取指令所需的时间“消失”了(隐含在上一指令的执行之中),大大减少等待取指令所需的时间,提高了微处理器的利用率和整个系统的执行速度。;*;*;*; 通用寄存器分为数据寄存器与指针和变址寄存器两组。 数据寄存器包括4个16位的寄存器AX、BX、CX和DX,一般用来存放16位数据,故称为数据寄存器。其中的每一个又可根据需要将高8位和低8位分成独立的两个8位寄存器来使用,即AH、BH、CH、DH和AL、BL、CL、DL两组,用于存放8位数据,它们均可独立寻址、独立使用。 指针和变址寄存器包括指针寄存器SP、BP和变址寄存器SI、DI,都是16位寄存器, ,一般用来存放地址的偏移量。 这8个16位通用寄存器都具有通用性,从而提高了指令系统的灵活性。但在有些指令中,这些通用寄存器还各自有特定的用法.;表:通用寄存器的特定用法;(1)数据寄存器 累加器AX(Accumulator) 基址寄存器BX(Base) 计数寄存器CX(Count) 数据寄存器DX(Data) 这四个16位寄存器可分为 高8位(AH、BH、CH和DH)与 低8位(AL、BL、CL和DL) 可分别寻址、独立操作。 ; 16位和8位可以拆开或组合。 例如: AX=1234H (16位) AH=12H (高8位),AL=34H(低8位) 例如:BL=78H, BH=56H (8位) BX=5678H (16位) 注意:不允许两个不同的寄存器拆开或组合,例如:AH和BL直接组合。 MOV AL,58H MOV AX, 1234H ;AL=34H,58H被覆盖;(2)指针寄存器和变址寄存器:(16位) 堆栈指针寄存器SP(Stack Pointer) 基址指针寄存器BP(Base Pointer) 源变址寄存器SI(Source Index) 目的变址寄存器DI(Destination Index) SP用来确定欲读写堆栈的地址,BP用来存放在现行堆栈段的一个数据区的“基地址”。SI、DI用于变址操作,存放变址地址。 注意:以上4个16位的寄存器不能拆成8位使用。;通用寄存器的隐含用法:; 例如:AL*BL →AX AX/BL →AL(商),AH(余) IN AL , 端口 ; OUT 端口,AX; b、BX ----在间址寻址中用作间址寄存器,在基址寻址中用作基址寄存器。 例如:MOV AX, [BX] ;将BX指示的内存单元 中的内容传送至AX寄存器中。(寄存器间址寻址) 例如:MOV AX,[BX+1000H];将BX+1000H指示的内存单元中的内容传送至AX寄存器中。(基址寻址) ;c、CX----在循环操作中用作循环次数计数器。 例如:MOV CX,100;循环次数100送CX寄存器 L: … … … … … … LOOP L; CX-1→CX CX≠0转L,继续循环 CX=0 结束循环 d、CL----在循环移位指令中用作移位次数计数器。 例如:SHL AX , CL ; 对AX中的内容左移位CL位。 ;e、DX----在16位乘运算得到32位积时存放高16位积,在32位被除数中存放高16位。 例如:AX*BX→DX,AX(32位) DX,AX (32位)/ BX →AX(16位商),DX(16位余) DX在I/O指令中用作间址寄存器 例如:MOV DX , 2000H IN AL , DX ; 将2000H端口中的内容输入到AL寄存器中。 ;f、SP-----用作堆栈栈顶指示器,指示堆栈栈顶单元的地址,专用于堆栈的栈顶地

文档评论(0)

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

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

1亿VIP精品文档

相关文档