代汇编语言程序设计(I)

代汇编语言程序设计(I)

ID:39817061

大小:1.72 MB

页数:148页

时间:2019-07-12

代汇编语言程序设计(I)_第1页
代汇编语言程序设计(I)_第2页
代汇编语言程序设计(I)_第3页
代汇编语言程序设计(I)_第4页
代汇编语言程序设计(I)_第5页
资源描述:

《代汇编语言程序设计(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、汇编语言程序设计——第三章第三章寻址方式与指令系统本章要点基本寻址方式指令系统字符设备I/O功能调用123432位指令寻址指令系统:计算机提供给用户使用的指令集。目的操作数,源操作数替代目的操作数不影响源操作数操作结果操作码3.1.1指令的基本格式操作数操作码例如:MOVAX,100MOVAX,BXMOVAX,[BX]要访问操作数,首先必须确定如何形成操作数的地址。寻址方式:形成操作数地址的方法。寻址方式选择得正确与否,直接影响程序的执行效率。3.1.2寻址方式与数据有关的寻址方式——确定内存单元的地址与转移地址有关的寻址方式——确定转移地址寻址方式分类

2、目的操作数,源操作数MOV有7种与数据有关的寻址方式以MOV指令为例:3.1.2数据的寻址方式对源操作数分别使用7种寻址方式如下:(1)立即寻址方式(ImmediateAddressing)(2)寄存器寻址方式(RegisterAddressing)(3)直接寻址方式(DirectAddressing)(4)寄存器间接寻址方式(RegisterIndirectAddressing)(5)变址寻址方式(IndexedAddressing)(6)基址变址寻址方式(BasedIndexAddressing)(7)相对基址变址寻址方式(RelativeBased

3、IndexAddressing)掌握寻址方式的要点:特点(区别于其他寻址方式);使用方法(语法形式);用途(什么情况下使用)。(1)立即寻址方式(ImmediateAddressing)特点:操作数包含在指令中。操作数是指令的组成部分(可以是8位或16位),取出指令就立即获得操作数——立即数例1:MOVAL,5执行指令后:(AL)=05H指令05存储器B005AL……例2:MOVAX,3045H执行指令后:(AX)=3045H用途:给变量或寄存器赋常量值限制:只能用于源操作数AX低地址高地址指令OP45存储器304530……(2)寄存器寻址方式(R

4、egisterAddressing)特点:操作数存在寄存器中。例:MOVAX,BX执行指令前:(AX)=3045H(BX)=4000H执行指令后:(AX)=4000H(BX)=4000H用途:用寄存器提供操作数时存取速度快。(3)直接寻址方式(DirectAddressing)特点:操作数的偏移地址包含在指令中。例:设(DS)=3000HMOVAX,[2000H]要访问的存储单元物理地址为:30000H+2000H=32000H设:(32000H)=3050H执行指令后:(AX)=3050H指令MOVAX,[2000H]2000H5030…………存储器代

5、码段op0020数据段30000H32000HAX3050如果2000H单元在附加段MOVAX,ES:[2000H]段跨越前缀:“段寄存器名:”用于改变默认使用的段寄存器用途:用于存取单变量中的操作数。(4)寄存器间接寻址方式(RegisterIndirectAddressing)特点:(寄存器)=操作数的偏移地址例:设(DS)=2000H(BX)=1000H指令为:MOVAX,[BX]20000H+1000H=21000H计算操作数物理地址的公式:(BX)(SI)(DI)操作数物理地址=(DS)16+操作数物理地址=(SS)16+(BP)要访问

6、的存储单元物理地址为:1000HAX50A0A050………存储器数据段20000H21000HXXXX21002H数组起始地址用途:可用于处理数组设:(21000H)=50A0H执行指令后:(AX)=50A0H(5)变址寻址方式(IndexedAddressing)(寄存器相对寻址方式)特点:(变址或基址寄存器)+指令中的位移量=操作数的偏移地址+例:设(DS)=3000H,ARRAY=4000H,(SI)=2000H指令为:MOVAX,ARRAY[SI]计算操作数物理地址的公式:(SI)(DI)+(BX)操作数物理地址=(DS)16+操作数物理地

7、址=(SS)16+(BP)+8位位移量16位位移量8位位移量16位位移量指令MOVAX,ARRAY[SI]4000H30000HAX12343412…………存储器代码段op0040数据段36000Hop…2000H数组起始地址ARRAY用途:30000H+4000H+2000H=36000H要访问的存储单元物理地址为:设:(36000H)=1234H执行指令后:(AX)=1234H可用于处理数组(6)基址变址寻址方式(BasedIndexAddressing)特点:(基址寄存器)+(变址寄存器)=操作数的偏移地址例:设(DS)=2100H,(BX)=0

8、158H,(DI)=1000H指令为:MOVAX,[BX][DI]+计算操作数物

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。