汇编语言3_1.ppt
《汇编语言3_1.ppt》由会员分享,可在线阅读,更多相关《汇编语言3_1.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编程工具编程工具v第三章 80 x86指令系统和寻址方式v第四章 汇编语言程序格式 1第3章 80 x86的指令系统和寻址方式第第3章章 80 x86的指令系统和寻址方式的指令系统和寻址方式3.1 程序语言简介程序语言简介3.2 80 x86的寻址方式3.3 程序占有的空间和时间3.4 80 x86的指令系统2第3章 80 x86的指令系统和寻址方式3.1 程序语言简介程序语言简介(1)指令、指令系统和程序指令、指令系统和程序(2)8086/8088指令格式简介指令格式简介3第3章 80 x86的指令系统和寻址方式l用编码表示用编码表示CPU执行一个基本操作的命令,称为执行一个基本操作的命令,
2、称为指令指令。l 计算机全部指令集称为计算机全部指令集称为指令系统指令系统。l 指令系统反映指令系统反映 CPU的基本功能的基本功能,是硬件设计人员和程序员能见到的是硬件设计人员和程序员能见到的机器的主要属性机器的主要属性,(1)指令、指令系统和程序指令、指令系统和程序l 程序程序是为要解决的问题编写出来的指令集合是为要解决的问题编写出来的指令集合4第3章 80 x86的指令系统和寻址方式例例 将地址为将地址为2000H和和2001H 的两内存单元内容相加,的两内存单元内容相加,结果存在地址结果存在地址2002H单元中,程序如下:单元中,程序如下:A0 00 20A0 00 2002 06 0
3、1 2002 06 01 20A2 02 20A2 02 20数据暂存器数据暂存器PSW标志标志寄存器寄存器控制电路控制电路指令译码器指令译码器AXBXCXDXSIDIBPSP寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地址总线地址总线AB数据总线数据总线DB控制总线控制总线CB地地址址译译码码器器IP地地址址加加法法器器DSESSSCS1010 00000000 00000010 00000000 00100000 01100000 00010010 00001010 00100000 00100010 0000A0A000002020020206060101
4、2020A2A202022020MOV AL,2000HADD AL,2001HMOV 2002H,AL5第3章 80 x86的指令系统和寻址方式(1)操作码操作码指明指明CPU要执行什么样的操作。要执行什么样的操作。是一条指令必不可少的部分,用助记符表示是一条指令必不可少的部分,用助记符表示。l 指令格式指令格式 例例 ADD AL,10H数据传送数据传送算术运算算术运算逻辑运算逻辑运算串操作串操作控制转移控制转移处理机控制处理机控制 按功能按功能指令分六类指令分六类(2)操作数操作数指明参与操作的数据或数据所在的地方。指明参与操作的数据或数据所在的地方。了解操作数的了解操作数的来源来源、个
5、数、类型个数、类型。(2)8086/8088指令格式简介指令格式简介 操作码操作码 操作数操作数 .操作操作数数6第3章 80 x86的指令系统和寻址方式q 操作数来源操作数来源 指明操作数所在的地方指明操作数所在的地方有三种来源:有三种来源:操作数在指令中,称操作数在指令中,称立即数操作数立即数操作数 如如 MOV AL,9 操作数在寄存器中,称操作数在寄存器中,称寄存器操作数寄存器操作数指令中给出用符号表示的寄存器名。指令中给出用符号表示的寄存器名。如如 MOV AL,9 操作数在内存单元中,称操作数在内存单元中,称存储器操作数存储器操作数或或内存操作数内存操作数 指令中给出该内存单元的地
6、址。用指令中给出该内存单元的地址。用 表示存储器操作数表示存储器操作数 如如 MOV AL,2000H 7第3章 80 x86的指令系统和寻址方式q 操作数个数操作数个数 按指令格式中,操作数个数的多少分为四类:按指令格式中,操作数个数的多少分为四类:无操作数无操作数:指令只有一个操作码,没有操作数指令只有一个操作码,没有操作数单操作数单操作数:指令中给出一个操作数指令中给出一个操作数双操作数双操作数:指令中给出两个操作数。指令中给出两个操作数。三操作数:三操作数:指令中给出三个操作数。指令中给出三个操作数。8第3章 80 x86的指令系统和寻址方式 无操作数:无操作数:指令只有一个操作码,没
7、有操作数。指令只有一个操作码,没有操作数。有两种可能:有两种可能:有些操作不需要操作数。有些操作不需要操作数。如如 HLT,NOP等处理机控制指令。等处理机控制指令。操作数隐含在指令中。操作数隐含在指令中。如如 AAA,DAA等调整指令。等调整指令。9第3章 80 x86的指令系统和寻址方式 单操作数单操作数:指令中给出一个操作数。指令中给出一个操作数。有两种可能:有两种可能:有些操作只需要一个操作数有些操作只需要一个操作数 如如 INC AL ;(AL)(AL)+1有些操作将另一个操作数隐含在指令中有些操作将另一个操作数隐含在指令中 如如 MUL BL ;(AX)(AL)(BL)10第3章
8、80 x86的指令系统和寻址方式 双操作数双操作数:指令中给出两个操作数。指令中给出两个操作数。如如 ADD AL,BL ;(AL)(AL)+(BL)目的操作数目的操作数 源操作数源操作数 操作后的结果通常存放在目的操作数中。操作后的结果通常存放在目的操作数中。11第3章 80 x86的指令系统和寻址方式 三操作数三操作数:指令中给出三个操作数。指令中给出三个操作数。如如 IMUL BX,DX,6 ;(BX)(DX)*6 目的操作数目的操作数 源操作数源操作数 立即数立即数 操作后的结果通常存放在目的操作数中。操作后的结果通常存放在目的操作数中。12第3章 80 x86的指令系统和寻址方式3.
9、2 80 x86的寻址方式v 与数据有关的寻址方式与数据有关的寻址方式v 与转移地址有关的寻址方式与转移地址有关的寻址方式13第3章 80 x86的指令系统和寻址方式3.2.1 与数据有关的寻址方式与数据有关的寻址方式 以以 MOV 指令为例指令为例 1.立即寻址方式立即寻址方式*操作数在指令中给出操作数在指令中给出 MOV AL,5 MOV AX,3064H*只能用于只能用于SRC字段字段*SRC 和和 DST的字长一致的字长一致 MOV AH,3064H适用于给寄存器赋初值适用于给寄存器赋初值14第3章 80 x86的指令系统和寻址方式2.寄存器寻址方式寄存器寻址方式*操作数在指定的寄存器
10、中操作数在指定的寄存器中 MOV AX,BX MOV AL,BH*字节寄存器只有字节寄存器只有 AH AL BH BL CH CL DH DL*SRC 和和 DST的字长一致的字长一致 MOV AH,BX*CS不能用不能用MOV指令改变指令改变 MOV CS,AX运算速度快运算速度快15第3章 80 x86的指令系统和寻址方式存储器寻址(除代码段)四种成分的组合EA基址基址+(变址(变址*比例因子)比例因子)+位移量位移量位移量:存放在指令中的一个8位、16位或32位的数,通常是个地址基 址:基址寄存器中的内容,通常用来指向数组或字符串的首地址变 址:变址寄存器中的内容,通常用来指向数组中的某
11、个元素或字 符串中的某个字符比例因子:386+,值可为1,2,4,8,与变址相乘用于访问元素长度 为2、4、8字节的数组EA基址基址+变址变址+位移量(适用于位移量(适用于8086/8088)注意:三种成分不一定同时存在,可能出现一种、两种注意:三种成分不一定同时存在,可能出现一种、两种 或三种。或三种。16第3章 80 x86的指令系统和寻址方式四种成分16位寻址位移量0,8,16位基址寄存器BX,BP变址寄存器SI,DI比例因子无16位寻址时有效地址的四种成分组成的规定四种成分组成的规定17第3章 80 x86的指令系统和寻址方式默认段选择规则访问类型所用段及段寄存器缺省选择规则指 令代码
12、段 CS用于取指堆 栈堆栈段 SS所有堆栈的进栈与出栈任何用SP或BP作为基址寄存器的访问局部数据数据段 DS除相对于堆栈以及串处理指令的目的串以外的所有数据访问目 的 串附加段 ES串处理指令的目的串18第3章 80 x86的指令系统和寻址方式段跨越前缀段跨越前缀 用于改变系统所指定的默认段选择规则有三种情况不允许不允许使用段跨越前缀:1、串处理指令的目的串必须用ES2、PUSH指令的目的和POP指令的源必须用SS段3、指令必须存放在CS段中19第3章 80 x86的指令系统和寻址方式3.直接寻址方式直接寻址方式*有效地址有效地址EA由由指令直接给出指令直接给出 有效地址有效地址EA:操作数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 _1
限制150内