[工学]第三章 80x86的指令系统和寻址方式

[工学]第三章 80x86的指令系统和寻址方式

ID:27716421

大小:1.64 MB

页数:194页

时间:2018-12-04

[工学]第三章 80x86的指令系统和寻址方式_第1页
[工学]第三章 80x86的指令系统和寻址方式_第2页
[工学]第三章 80x86的指令系统和寻址方式_第3页
[工学]第三章 80x86的指令系统和寻址方式_第4页
[工学]第三章 80x86的指令系统和寻址方式_第5页
资源描述:

《[工学]第三章 80x86的指令系统和寻址方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章80X86的指令系统和寻址方式1、指令格式2、寻址方式3、指令系统指令的书写格式指令是由操作码和操作数组成,操作码表示该条指令的操作内容,而操作数表示指令在执行过程中所用到的数据信息,由目的操作数和源操作数组成。其指令的格式为:[标号:]操作码[目的操作数][,源操作数]…[;注释]指令的书写格式[]:方括号中的内容根据程序或指令的要求可有可无。标号:以字母打头,字母或数字组成的字符串。:冒号表示汇编程序的属性是NEAR。操作码:汇编指令的助记符(关键字),一条汇编指令必须有唯一的操作码。目的操作数:该指令执行完

2、其结果放在目标操作数所指的寄存器或内存地址所指的单元中。源操作数:指出指令处理数据来自何处。源操作数位置不放运算结果。注释:表示对该条指令的说明,可写可不写,如果有注释则必须在注释前加分号。提供操作数的方式1、立即操作数:指令要操作的数据在指令代码中,MOVAL,10H;指令码B010.2、寄存器操作数:指令要操作的数据在CPU的寄存器中,MOVAL,BL;指令码88D8.3、存储器操作数:指令要操作的数据在存储器(内存)中,MOVAL,[1234H];指令码A03412.寻址方式1、与数据有关的寻址方式2、32位CP

3、U的寻址方式3、与转移地址有关的寻址方式与数据有关的寻址方式1、立即数寻址方式2、寄存器寻址方式3、直接寻址方式4、寄存器间接寻址方式5、寄存器相对寻址方式6、基址变址寻址方式7、相对基址加变址寻址方式立即数寻址方式立即数寻址方式就是8位、16位或32位常数直接出现在源操作数位置上。也就是立即数直接写在指令中。立即数寻址方式指令一般格式:OPr,DATA或OPm,DATA其中:OP(Operand):操作码r(register):寄存器m(memory):存储器DATA:立即数立即数寻址方式举例VALUEEQU512;

4、伪指令定义VALUE为符号常量512┇MOVAL,05H;AL=05HMOVAL,00000101B;AL=05HMOVAX,512;执行后AX=0200HMOVAX,VALUE;AX=0200H,VALUE为常量MOVAL,100H;MOVBL,VALUE;MOVAX,20000H;错误,超出了字范围需要注意的问题1、操作数直接出现在指令中,但不能作为目的操作数出现在指令中。2、立即数可以写成:十进制(D),八进制(O),十六进制(H)3、要注意立即数的表示范围:8位带符号数表示范围:127~-12816位带符号数表

5、示范围:32767~-32768寄存器寻址方式寄存器的内容就是指令运算的操作数,目的操作数和源操作数均可用寄存器存放。在指令中给出寄存器名,说明操作数是在寄存器中,通过寄存器得到数据或把数据存到寄存器中的方式为寄存器寻址方式。在指令中可以给出的寄存器名:8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL16位寄存器:AX、BX、CX、DX、SP、BP、SI、DI、DS、SS、ESCS只能作为源操作数标志寄存器和IP寄存器不能直接出现在指令中寄存器寻址方式举例寄存器寻址方式指令一般格式:OPreg,reg/mem

6、/dataOPreg/mem,reg例:设AX=3066H,BX=1234H执行MOVAX,BX执行指令后AX=1234HBX=1234HMOVAX,1234H;目的操作数为寄存器寻址,源操作数是立即数寻址ADDX,AX;源操作数为寄存器寻址,目的操作数为存储器寻址PUSHDS;将DS的内容压栈指令,源操作数为寄存器寻址直接寻址方式(存储器直接寻址方式)直接寻址方式也可称为存储器直接寻址方式,指出操作数是在存储器的数据段中,该数据段的哪个存储单元是操作数是通过该存储单元的偏移地址(有效地址EA)得到的。操作数的有效地址

7、(EA)直接出现在指令中,直接指出操作数的地址,该寻址方式为直接寻址方式。直接寻址方式指令一般格式:OPm,rOPm,DATAOPr,m则物理地址=DS×16+EA直接寻址方式举例设有指令MOVAX,[2000H];源操作数为直接寻址方式,数据段地址DS=3000H,该指令是如何得到数据段中2000H单元的内容的?直接寻址方式举例在指令中有效地址2000H直接出现在指令中,它隐含指出该有效地址是在数据段中的偏移地址:DS×16+EA=3000H×16+2000H=32000H,得到物理地址32000H,该地址所指单元的

8、内容为5000H,通过数据传送指令将[32000H]中的操作数5000H送到AX中。需要注意的问题1、可以用符号地址(也称为变量)代替数值地址(偏移地址)。例:在数据段中定义:XDW2000HYDB‘A’MOVAX,XMOVAL,YMOVBX,Y+1用DEBUG中调试这个程序段时:MOVAX,[000DH]MOVAL,[000FH

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

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

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