汇编与组成第4章3课件.ppt

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

;4.3 80x86 CPU的指令系统 ;4.3.1 80x86寻址方式 指令中的寻址方式是用来确定操作数地址以找到指令所需的操作数。 在80x86 CPU中,8086和80286的字长是16位,一般情况下只处理8位和16位操作数,只是在乘、除指令中才会有32位操作数;80386及其后继机型的字长为32位,因此它除可处理8位和16位操作数外,还可处理32位操作数,在乘、除法情况下可产生64位操作数。本节下面所述例子中,如处理的是32位操作*数,则适用于80386及其后继机型。 ;1.立即寻址方式和寄存器寻址方式 (1)立即寻址方式(Immediate Addressing) 立即数寻址是指指令所需的操作数直接在指令代码中,随着取指令一起取到CPU中。这种操作数称为立即数。立即数可以是8位或16位的。对于80386及其后继机型则可以是8位或32位的。 这种寻址方式如下图所示:;【例4-1】 下述汇编指令的源操作数都采用立即寻址方式。 MOV AL,5 ;将8位立即数05H送入AL中 MOV AX,0B064H MOV BX, AB MOV EAX ; 寄存器寻址是指指令所需的操作数存放在CPU的寄存器(通用寄存器或段寄存器)中,通过指令中的寄存器地址去找到操作数。 ; 【例4-3】 MOV BL,AL;将AL中的内容送到BL中 MOV DS,AX MOV ECX,EDX;2.存储器寻址方式 ; 存储器操作数的寻址方式不同,则形成有效地址EA的方法就不同。有效地址EA可以由4个地址分量的某种组合求得,它们分别是: ① 位移量 它是指令代码中的一个8位、16位或32位二进制数,但它不是立即数,而是一个地址量。在源程序中,位移量通常以符号地址(变量名或标号)的形式出现,也可以是常数,经汇编后,这些符号地址的偏移地址或常数就转换为指令代码中的位移量。 ② 基地址 即基址寄存器或基址指针的内容。 ③ 变址量 即变址寄存器的内容。 ④ 比例因子(Scale Factor) 它是80386及其后继机型新增加的寻址方式中的一个术语,其值可为1,2,4或8。在含比例因子的寻址方式中,可用变址寄存器的内容乘以比例因子来取得变址值。 ;地址分量; 对不同的存储器寻址方式,构成其有效地址EA的地址分量是不同的,但这些寻址方式的有效地址的计算都可以用下式表示: ; ① 用数值地址表示EA 在采用直接寻址方式的汇编指令中,如用数值表示操作数的有效地址,则操作数所在段的段寄存器必须指明,不能省略。 例如,传送指令源操作数的有效地址用数值地址表示:;② 用符号地址表示EA 在源程序中,常用符号地址表示存放操作数的存储单元,因此在汇编指令中,可用符号地址表示的直接寻址方式来存取操作数。;(2)寄存器间接寻址方式(Register Indirect Addressing) 寄存器间接寻址是指指令所需的操作数在存储单元中,操作数的有效地址EA直接从基址寄存器或变址寄存器中获得,即EA是包含基址寄存器内容(或变址寄存器内容)的一个地址分量。这种寻址方式如下图所示: ; 由于用寄存器作为地址指针,因此在程序中只要修改间址寄存器的内容,就可以用同一条指令访问不同的存储单元。这种寻址方式的使用格式如下: MOV CH,[SI] MOV [DI],BX MOV AL,[BX] MOV CX,[BP] 上述指令分别等价于: MOV CH,DS:[SI] MOV DS:[DI],BX MOV AL,DS:[BX] MOV CX,SS:[BP];(3)寄存器相对寻址方式(Register Relative Addressing)(也称变址寻址方式或基址寻址方式) 指令所需的操作数在存储单元中,操作数

文档评论(0)

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

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

1亿VIP精品文档

相关文档