汇编语言程序设计(I)

汇编语言程序设计(I)

ID:42019521

大小:562.06 KB

页数:47页

时间:2019-09-06

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

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

1、汇编语言程序设计AssemblyLanguageProgramming第三章80x86指令系统3.1指令格式指令的一般格式操作码说明计算机要执行哪种操作,它是指令中不可缺少的组成部分操作数是指令执行的参与者,即各种操作的对象,为数据及数据所在地址。操作码操作数1操作数2操作码操作数1操作数2【;注释】【标号:】3.1指令格式操作数的形式立即操作数:指令的操作数是立即数(常量),只能是源操作数。寄存器操作数:操作数存放在寄存器中值,指令中使用寄存器名。内存操作数:操作数存放在内存中,指令中给出内存地址,通常为有效地址EA,段地址在某个段寄存器中。3.2寻址方式寻址方式(addres

2、singmode)——是指在指令中用以说明操作数所在地址(位置)的方法对某一个操作数而言808632位CPU的扩展方式3.2.18086寻址方式立即寻址方式寄存器寻址方式内存操作数寻址方式1.立即寻址方式(immediateaddressing)操作数在指令中给出,作为指令机器码的一部分存储MOVAL,34H;机器码:B034MOVAX,0034H;机器码:B83400使用场合:常数,8位和16位。注意:只能用于源操作数2.寄存器寻址方式(registeraddressing)操作数在指定的数据寄存器中MOVAX,BXMOVAL,BH注意:无FS和GSCS/IP不能用作目的操作数

3、:MOVCS/IP,AX(X)3.内存操作数寻址方式直接寻址方式(directaddressing)寄存器间接寻址方式(registerindirect)寄存器相对寻址方式(registerrelative)基址变址寻址方式(basedindexed..)相对基址变址方式(relativebasedindexed..)直接寻址方式(directaddressing)内存操作数的偏移地址由指令直接给出MOVAX,[2000H]MOVWORDPTR[1000H],-1MOVAX,Y注意:隐含的段为数据段DS物理地址=16*(DS)+偏移地址…………1000H1001HAX3412AH

4、AL比较比较1MOVAL,[1000H]AL=34H;MOVAX,[1000H]AX=1234H比较2MOVAX,1000HAX=1000H;MOVAX,[1000H]AX=1234H1234寄存器间接寻址方式(registerindirect)指定某个地址寄存器(SI、DI、BX、BP)的内容作为内存操作数的偏移地址MOVAX,[BX]MOV[BP],AL使用场合:表格、字符串、缓冲区处理注意:段地址规则BX,SI,DI(DS)BP(SS)寄存器相对寻址方式(registerrelative)指令中指定地址寄存器(SI、DI、BX、BP)与一个位移量相加作为内存操作数的偏

5、移地址MOVAX,[SI+2]MOV[BP-6H],AL使用场合:适于表格、字符串、缓冲区的处理;一维数组方式(DATA[DI]=[DATA+DI])偏移地址=(BX)(BP)(SI)(DI)+8位16位位移量基址变址寻址方式(basedindexed..)指定基址寄存器(BX,BP)、变址寄存器(SI,DI)内容相加作为内存操作数的地址。MOV[BX+DI],DXMOVAL,[BP+SI]使用场合:适于数组、字符串、表格的处理,更加灵活注意:必须是一个基址寄存器和一个变址寄存器的组合MOVAX,[BX][BP](X)MOVAX,[SI][DI](X)相对基址变址方式(relat

6、ivebasedindexed..)指定基址寄存器(BX,BP)、变址寄存器(SI,DI)、位移量之和作为内存操作数的地址MOVAL,[SI+BX+2]MOVAL,2[SI+BX]MOV[BX+DI-16H],DX使用场合:适于二维数组的寻址(Buffer[BX][SI]=[Buffer+BX+SI])偏移地址=(BX)(BP)+(SI)(DI)+8位16位位移量4.段超越隐式段地址——8086/8088指令系统对存储单元的访问,其段地址都是从系统事先约定好的段寄存器中获取;规则为:除串操作指令外,若出现BP(SP),默认在SS中,否则所有的操作都默认在DS中。(显式段地址)段超

7、越——不是按照系统的约定,而是在指令中显式指定某一段寄存器作为存储器操作数的段地址。5.Notice!变量名编译后用偏移地址代替MOVAL,XMOVAL,[0001H]在寄存器相对寻址和相对基址寻址中,位移量可以是常量或变量,若是变量,则为偏移地址。MOVAL,X[BX]MOVAL,[0001H+BX]内存操作数可以有多种写法:[BX+DI+2]2[BX+DI]2[BX][DI]5.Notice!操作数中使用变量的地方可均使用“变量名+(-)整数表达式”的形式。MOVAX,X

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

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

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