微机原理及应用版第章-指令系统和寻址方式.ppt

微机原理及应用版第章-指令系统和寻址方式.ppt

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

第3章 8086/8088指令系统与寻址方式 目 录 3.1 数的表示 14.625D =?B (1) 8421码 2. 码制转换 [x]补 -求[x]原 求补:[x]补 -[-x]补 3 补码运算 溢出判别 定点数的表示范围 附录一:ASCII码表 国际码-机内码 第3章 8086/8088指令系统与寻址方式 1. 指 令 指令格式 2. 操作数 3) 内存操作数:也称为存储器操作数,操作对象是内存中的数。 4) I/O操作数:指令中要操作的数据来自或送到I/O端口。 (2) 转移地址操作数 这类操作数出现在程序跳转或程序调用指令中,指出程序要转移的目的地址。它也可以分为:立即数、寄存器操作数、存储器操作数,即要转移的目标地址包含在指令中或存放在寄存器、内存储器中。 第3章 8086/8088指令系统与寻址方式 3.3 数据寻址方式 1. 立即寻址 2. 寄存器寻址 寄存器寻址是指操作数存放在寄存器中,指令中给出寄存器名。 例:MOV DX ,AX ;DX ← AX 执行过程如图所示: 特点: (1)操作数在寄存器中,寄存器在CPU内部,指令执行时,操作就在CPU的内部进行,不需要访问存储器来取得操作数,因而执行速度快。 (2)寄存器号比内存地址短,汇编后机器码长度短。 (3)寄存器寻址方式既可用于源操作数,也可用于目标操作数,还可以两者都用寄存器寻址方式。 注意: 3. 直接寻址 直接寻址即指令中给出操作数所在存储单元的有效地址,缺省的段为数据段。为了区别于立即数,有效地址用[]括起。 例:以下指令中源或目标操作数采用了直接寻址方式 (1) MOV AX,[2000H] ;AX ← (DS:2000H) (2) MOV [1200], BL ;(DS:1200H) ← BL (3) MOV ES:[0100], AL ;(ES:0100H) ← AL 说明:DS:2000表示内存单元地址; (DS:2000)表示地址是DS:2000的内存单元内容。 【例】设 DS=4000H,(42000H)=12H,(42001H)=34H,执行指令 MOV AX,[2000H]后,AX = ? ① 根据指令中给出的有效地址得到存储单元的物理地址: DS × 16 + 2000H = 42000H ② 把该内存单元开始的两个字节的内容传送到AX中。低地址单元内容传送到AL中,高地址单元内容传送到AH中。 AX = 3412H 执行过程如图所示: 说明:直接寻址允许数据存于附加段、堆栈段、代码段,这称为“段超越”,此时,需要段说明,如例(3)中,数据存于附加段中,操作数物理地址为:ES×10H + 0100H。 4. 寄存器间接寻址 寄存器间接寻址是把内存操作数的有效地址存储于寄存器中,指令中给出存放地址的寄存器名。 8086/8088中可用于间接寻址的寄存器有基址寄存器BX、BP和变址寄存器SI、DI。为区别于寄存器寻址,寄存器名要用“[]”括起。 例:MOV AX,[SI] ;AX ← (DS:SI+1,DS:SI) 【例】设 DS=3000H,SI=2000H,(32000H)=50H, (32001H)=40H,执行指令 MOV AX,[SI]后,AX = ? ① 根据指令中给出的寄存器及寄存器内容得到存储单元的物理地址: DS × 16 + 2000H = 32000H ② 把该内存单元开始的两个字节的内容传送到AX中。低地址单元内容传送到AL中,高地址单元内容传送到AH中。 AX = 4050H 执行过程如图所示: 5. 寄存器相对寻址 寄存器相对寻址是把指定的寄存器内容作为变址,与指令中给出的偏移量一起形成有效地址EA,操作数在存储器中。选用不同寄存器,对应的段不同,规律同寄存器寻址。 操作数的有效地址: EA1 = SI/DI/BX + 8位disp/16位disp(disp代表偏移量) 或 EA2 = BP + 8位disp/16位disp 操作数的物理地址: PA1 = DS × 10H + EA1 或 PA2 = SS × 10H + EA2 【例】设 DS=3000H,BX=0100H,(30108H)=12H,执行指令 MOV AL,8[BX]后,AL = ?

文档评论(0)

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

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

1亿VIP精品文档

相关文档