第3章寻址方式和指令系统(创新142)讲解.ppt

第3章寻址方式和指令系统(创新142)讲解.ppt

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 寻址方式与指令系统 3.1 指令格式与寻址方式 3.2 8086 指令系统 3.3 80X86 与Pentium 扩充和增加的指令 指令构成 指令由操作码和操作数两部分构成 操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分。 操作数是指令执行的参与者,即各种操作的对象。 有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数。 指令中的操作码和操作数 每种指令的操作码: 用一个唯一的助记符表示(英文缩写), 对应着一个二进制编码的机器指令。 指令中的操作数: 可以是一个具体的数值(立即数); 可以是存放数据的寄存器; 可以用多种方式指明寻址单元在存储器中的地址。 寻址方式 指令系统设计了多种操作数的来源,寻找操作数的过程就是操作数的寻址方式。 操作数采取哪一种寻址方式,会影响机器运行的速度和效率。如何寻址一个操作数对程序的设计来讲很重要。 3.1 寻址方式 3.1.1 立即数寻址 立即数,操作数直接包含在指令中,作为指令的一部分存放在代码段中 3.1.1 立即数寻址 例3-1立即数寻址 MOV AX,2004H ;(AH)=20H,(AL)=04H MOV BL, 5AH ;(BL)=5AH MOV EAX ;(EAX), (AX)=4455H 立即数常用于给寄存器赋初值,只能作源操作数,不能作目的操作数 3.1.2 寄存器寻址 操作数存放在指令指定的8位、16位或32位通用寄存器中。 对于16位的操作数,寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP等 3.1.2 寄存器寻址 例3-2 寄存器寻址 MOV AX,BX ; 将BX中的内容送入AX中, BX中的内容保持不变 MOV SI,DI ;将DI中的内容送入S I中, DI中的内容保持不变 MOV EAX,EBX ;将EBX中的内容送入EAX 3.1.3 直接寻址 直接寻址指的是操作数在存储器中的有效地址EA直接包含在指令中,书写时有效地址加上中括号 3.1.3 直接寻址 例3-3 存储器直接寻址 MOV AX,[1000H] ;将DS段的1000H和1001H两个 单元的内容送入AX寄存器中 MOV EAX,ES:[2000H] ;将ES段的2000H~2003H四个单元的内容送入EAX寄存中,其中ES为段超越前缀 MOV AX,BUF ;将DS段内以有效地址BUF(符号地址)起始的两个单元的内容送入AX寄存器中 3.1.4 寄存器间接寻址 操作数的有效地址EA存放在基址寄存器BX、BP,或变址寄存器SI、DI中 如果指定的寄存器是BX、SI、DI,则操作数默认在数据段中;如果使用BP,默认在堆栈段中 允许段超越。 书写时对间接寻址的寄存器加上中括号。 操作数的物理地址为: (DS)×16+(SI/DI/BX) 或(SS)×16+(BP) 例3-4 寄存器间接寻址,假定(DS)=2000H,(SI)=3600H,(23600H)=6022H MOV AX,[SI] ;先将DS中的值左移4位,然后与SI中的值相加, 形成物理地址是23600H,再将该物理地址中的 数据6022H送入AX寄存器中 例3-5 寄存器间接寻址,假定(SS)=3000H,(BP)=1100H,(31100H)=5E28H MOV BX,[BP] ;先将SS中的值左移4位,然后与BP中的值相加, 形成物理地址31100H,再将该物理地址中的 数据5E28H送入BX寄存器中 例3-6 偏移量为32位时的寄存器间接寻址 MOV EAX,[ECX] ;从数据段的DS:ECX地址处开始取四个存储单元的内容送入EA

文档评论(0)

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

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

1亿VIP精品文档

相关文档