- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.1.6 基址变址寻址(Based Indexed Addressing)方式 基址变址寻址方式的操作数段内偏移地址是一个基址寄存器和一个变址寄存器的内容之和。这种寻址方式如图3.1(f)所示。如基址寄存器为BX时,段寄存器则隐含使用DS;如基址寄存器为BP时, 段寄存器则隐含使用SS。 因此, 物理地址为: 或 若操作数前指定段寄存器, 则应以指定的段寄存器为准。 这种寻址方式同样适用于数组或表格处理,首地址可存放在基址寄存器中, 而用变址寄存器指向数组中的各个元素。 由于两个寄存器都可以修改, 因而使用起来更加灵活。 下面指令均使用了基址变址寻址: NEG Byte PTR[BX][SI] 该指令将数据段内的一个字节的数据取补(按位取反, 末位加一),若该单元原存56H,求补后则变为AAH。该单元的段内偏移地址为: EA =(BX)+(SI), 如图3.7所示。 图 3.7 基址变址寻址 POP [BP][DI] 该指令为出栈指令, 它将堆栈的栈顶元素(一个字)弹出, 送入堆栈段(由SS指定的段)内的一个字单元中。该单元的段内偏移地址为: EA =(BP)+(DI)。 AND AX, [BX][DI] 该指令中的源操作数位于数据段(由DS指定的段)。该单元的段内偏移地址为: EA =(BX)+(DI)。 该指令将该单元的内容与AX的内容按位“与”, 结果存放于AX寄存器中。 TEST [BP][SI], 80H 该指令的目的操作数位于堆栈段(由SS指定的段),段内偏移地址为: EA =(BP)+(SI),该指令将立即数80H与该字节单元的内容按位求逻辑“与”,但不回送结果,仅置标志位,即检测该字节单元的符号。 下面的指令将两个基址寄存器或变址寄存器一起使用, 因此是错误的。 OR AX, [BX][BP] [DW]NOT WORD PTR[SI][DI] 3.1.7 相对基址变址寻址(Relative Based Indexed Addressing)方式 这种寻址方式的操作数段内偏移地址是三个地址分量之和, 即一个基址寄存器(BX或BP)和一个变址寄存器(SI或DI)的内容与一个偏移量(8位或16位)之和。 这种寻址方式如图3.1(g)所示。 同样,当基址寄存器为BX时,隐含使用的段寄存器为DS; 而当基址寄存器为BP时,则隐含使用的段寄存器为SS。因此, 物理地址为: 或 这种寻址方式为访问数组(特别是两维数组)提供了方便。 数组的首地址可用偏移量表示,基址(BX、BP)、变址(SI、DI)分别用以表示行地址和列地址。 下面指令均使用了相对基址变址寻址: INC Byte PTR 0318H[BX][SI] 该指令操作数为位于数据段的一个字节数据, 其段内偏移地址为318H+(BX)+(SI)。该指令将该字节内容加1后,仍放回原处。若该单元原存为77H,操作后变为78H, 如图3.8所示。 PUSH [LABEL+BX+DI] 该指令表示将数据段(由DS指定)的一个字压入堆栈, 该字的段内偏移地址为: EA =LABEL+(BX)+(DI)。 SHR WORD PTR ARRY[BP][DI], 1 该指令为逻辑右移指令,操作数为位于堆栈段(由SS指定)的一个字数据。该字的段内偏移地址为: EA=ARRY+(BP)+(DI)。 SHR指令将该操作数的各位依次右移一位, 最高位补“0”, 最低位移进CF位。 图3.8 相对基址变址寻址 SAR BYTE PTR ABC[BP][SI], 1 该指令为算术右移指令, 操作数为位于堆栈段的一个字节数据。该字节的段内偏移地址为ABC+(BP)+(SI)。 SAR指令将该操作数的各位依次右移一位, 最高位保持不变, 最低位移进CF位。 3.2 PC机转向地址的寻址方式 3.2.1 段内直接寻址(Intrasegment Direct Addressing)方式 段内直接转移的汇编格式为: 程序控制指令 NEAR PTR DST (DST为同一代码段内的符号地址)其中,程序控制指令可以为条件转移指令、 无条件转移指令、循环指令和子程序调用指令, NEAR PTR为近指针(Near Pointer)操作符,指明后面的符号地址位于同一段内。
您可能关注的文档
- Oracle数据库应用与开发案例教程电子教案王红 05.第五章 表管理.ppt
- Oracle数据库应用与开发案例教程电子教案王红 06.第六章 SQL语言.ppt
- Oracle数据库应用与开发案例教程电子教案王红 07.第七章 索引管理和视图管理.ppt
- Oracle数据库应用与开发案例教程电子教案王红 08.第八章 PLSQL编程.ppt
- Oracle数据库应用与开发案例教程电子教案王红 09.第九章 用户权限与安全管理.ppt
- Oracle数据库应用与开发案例教程电子教案王红 10.第十章 Oracle数据库备份与恢复.ppt
- Oracle数据库应用与开发案例教程电子教案王红 11.第十一章 SQL语句优化.ppt
- Oracle数据库应用与开发案例教程电子教案王红 12.第十二章 Oracle企业管理器OEM.ppt
- Oracle数据库应用与开发案例教程电子教案王红 13.第十三章 软件开发综合实训复.ppt
- Oracle数据库原理与应用 教学课件 作者 姚世军 11120+Oracle数据库原理与应用姚世军.ppt
文档评论(0)