第二章 计算机中的信息表示(打印).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 计算机中的信息表示(打印)

第二章 计算机中的信息表示 §2.3.2 常用的寻址方式 寻址方式:指令中以什么方式提供操作数或操作数地址的方法,称之为寻址方式。 操作数通常存放的位置: ①操作数就包含在该指令中,或者紧跟在该指令之后; ②操作数存放于CPU某寄存器中; ③操作数存储在主存储器单元中,该数据通常有两类处理方法:只需对某一操作数进行处理;需要对一个连续的数组或表进行处理; ④操作数存储在堆栈区中; ⑤操作数存储在某个I/O接口的寄存器中。 对操作数的寻址通常有如下方法: ①立即寻址:读取指令的同时读出操作数; ②直接寻址:直接给出主存储器的有效地址或寄存器号,以读取操作数; ③间接寻址:先从某寄存器或主存储器中读取有效地址,再依照这一地址访问主存储器以便读取操作数。这样的目的使操作数的地址可以变化,增加编程的灵活性; ④变址寻址:指令给出的是形式地址(不是最终存储数据的地址),经过某种运算(加法、减法的拼接等)之后获得有效地址,依据该地址访问主存储器,读取操作数。 目的:使各类程序更有效地适应各种需要(例如对数组、表格、链表等),便于程序的转移、存储管理、程序重定位等操作。 ●数据的寻址方式 1.立即数寻址方式 立即数寻址:操作数就包含在本指令中,是指令的一部分。CPU完整地取出这条指令之后,也就获得了操作数。 例如:MOV AX,1090H ;1090H→AX MOV BL,80H ;80H→BL MOV DH,0A5H ;0A5H→DH 其中,立即寻址的立即数作为源操作数,主要用来给寄存器或存储器赋值。 汇编语言规定:立即数必须以数字开头,数制用后缀表示。H表示16进制;B表示二进制;D表示10进制数;Q表示8进制数。凡字母开头的16进制数必须前缀0。 2.寄存器寻址方式 寄存器寻址:操作数存放在指令规定的寄存器中,寄存器的名字由指令指出。 16位操作数的寄存器可以是:AX、BX、CX、DX、SI、DI、SP或BP。 8位操作数的寄存器可以是:AH、AL、BH、BL、CH、CL、DH或DL。 例如:MOV CL,DL ;(DL)内容→CL MOV AX,BX ;(BX)内容→AX 假如:(DL)=50H,(BX)=1234H,执行结果:(CL)=50H,(AX)=1234H。 注意:寄存器寻址方式中,操作数就在寄存器中,不需要访问存储器就取得操作数,因而可以取得比较高的操作速度,通常用于CPU内部操作。 3.存储器寻址方式 存储器寻址:操作数存放在存储单元中,在指令中可以直接或间接给出存放操作数的地址,以达到存取操作数的目的。 ⑴直接寻址方式 直接寻址:有效地址EA(16位偏移地址)在指令的操作码后面直接给出,它与指令的操作码一起,存放在存储器的代码段中,也是高位字节存放在高地址中,低位字节存放在低位地址中。但操作数本身一般存放在存储器的数据段中。 例如:MOV AL,[1064H] 若(DS)=2000H,则2000H左移4位再与1064相加得21064H,即 (21064)内容→AL 注意:若没特殊说明,直接寻址的操作数一般存放在数据段,即隐含的段寄存器是DS。但8086/8088允许段超越,即允许使用CS、SS或ES作为段寄存器,此时需要在指令中特别标明。方法是:在有关操作数的前面写上段寄存器名,再加上:。 例如:MOV AL,ES:[1064H] 汇编规定:汇编指令中可以用符号地址代替数值地址。 例如:MOV AL,VALUE 或 MOV AL,[VALUE] 其中:VALUE为存放操作数单元的符号地址。 ⑵寄存器间接寻址方式 寄存器间接寻址:指令中指定的寄存器(是一个16位寄存器)中的内容不是操作数,而是操作数的有效地址,操作数本身存放在存储器中。 寄存器间接寻址方式可用的寄存器有:SI、DI、BX和BP。即 ┌ (SI) ┐ │ (DI) │ EA = │ │ │ (BX) │ └ (BP) ┘ 注意:选择其中不同的间址寄存器,默认的段寄存器有所不同。若选择 SI、DI、BX寄存器,则存放操作数的段寄存

文档评论(0)

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

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

1亿VIP精品文档

相关文档