【教学课件】第4章16位和32位微处理器的指令系统及汇编语言编程.ppt
《【教学课件】第4章16位和32位微处理器的指令系统及汇编语言编程.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第4章16位和32位微处理器的指令系统及汇编语言编程.ppt(200页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 16位和32位微处理器的指令系统及汇编语言编程教学目的和要求 掌握掌握1616位微处理器的寻址方式、指位微处理器的寻址方式、指令系统及汇编语言编程,了解令系统及汇编语言编程,了解3232位微处位微处理器的指令系统,并结合附录理器的指令系统,并结合附录A A能够掌能够掌握汇编语言编程的上机操作握汇编语言编程的上机操作教学重点n 1616位微处理器的寻址方式、指令系位微处理器的寻址方式、指令系统及汇编语言编程(完整段模式)统及汇编语言编程(完整段模式)n 32 32位汇编语言编程(简化段模式)位汇编语言编程(简化段模式)教学难点n 微处理器的寻址方式与指令系统微处理器的寻址方式与指令系统
2、n 汇编语言编程的基本概念和编程方汇编语言编程的基本概念和编程方法法 4.0 入入 门门n 指令通常应提供的信息指令通常应提供的信息 1.做什么操作做什么操作 2.操作数从哪里来操作数从哪里来 3.操作结果放在哪里操作结果放在哪里 4.对对于于调调用用和和转转移移指指令令,还还要要涉涉及及转转移移或调用地址的提供方式或调用地址的提供方式指令系统的特点指令系统的特点n8086/8088的的指指令令系系统统完完全全相相同同,都都能能在在x86系系列列CPU上运行上运行n指令的特点体现在:格式上、功能上和寻址方式指令的特点体现在:格式上、功能上和寻址方式可变长指令,如可变长指令,如CISC指令指令1
3、8字节字节寻址方式多样灵活,处理数据能力强寻址方式多样灵活,处理数据能力强有有重重复复指指令令和和运运算算指指令令,扩扩充充了了条条件件指指令令、移移位位/循环指令循环指令为为加加强强软软件件中中断断功功能能和和支支持持多多处处理理器器相相同同的的工工作作,增设了有关的指令,如增设了有关的指令,如test,wait等等指令的组成指令的组成n操作码操作码(OP)字段字段 标明计算机要执行什么操作标明计算机要执行什么操作n操作数(操作数(operand)字段)字段 指出指令在执行过程中所需要的指出指令在执行过程中所需要的 操操作作数数(值值为为多多少少 或或者者放放在在什什么么地地方)方),以及操
4、作结果送到哪里以及操作结果送到哪里指令的一般格式指令的一般格式n每条指令为字节的整数倍长(指令规整)每条指令为字节的整数倍长(指令规整)n操操作作数数字字段段可可以以有有零零个个、一一个个、二二个个或或三三个个操操作作数数,通通常常称称为为“一一地地址址”,“二二地地址址”或或“三地址三地址”指令。指令。操作码操作码操作数操作数。操作数操作数示例示例1n无操作数指令(控制类指令),如:无操作数指令(控制类指令),如:HLTLOCKCLCCLDCLIIRET 示例示例2单操作数指令,如:单操作数指令,如:加加1指令指令 INC AX 只只需需要要指指出出加加1的的操操作作数数,它它是是“一一地地
5、址址”指令。指令。双操作数指令,如:双操作数指令,如:ADD AX,BX 大大多多数数运运算算型型指指令令都都是是双双操操作作数数指指令令,对对这这种种指指令令,有有的的机机器器(大大中中型型)使使用用“三三地地址址”指指令令:除除给给出出参参加加运运算算的的两两个个操操作作数数外外,还还要指出运算结果的存放地址要指出运算结果的存放地址操作指令操作指令n现现代代微微型型计计算算机机中中多多采采用用二二地地址址指指令令,两两个个操操作作数数分分别别称称为为“源源操操作作数数”和和“目目的的操操作作数数”,指指令令执执行行后后,把把运运算算结结果果放放到到目目的的操作数的地址之中。操作数的地址之中
6、。n指指令令的的操操作作码码在在机机器器中中的的表表示示比比较较简简单单,只只要要对对每每一一种种操操作作指指定定相相应应的的二二进进制制代代码码即即可可;而指令的操作数字段的情形就比较复杂。而指令的操作数字段的情形就比较复杂。编址方式编址方式n计计算算机机中中的的编编址址设设备备:Register、系系统统主主存存和和I/O设备设备n编址方式:编址方式:n三三个个零零地地址址空空间间:即即对对上上述述三三种种设设备备分分别别进进行行编编址址,并并分分别别采采用用不不同同的的寻寻址址方方式式,很很复复杂杂,如:如:PC/XTn两两个个零零地地址址空空间间:对对通通用用寄寄存存器器R进进行行独独
7、立立编编址址,主主存存和和I/O统统一一编编址址,地地址址码码的的地地址址高高端端用于用于I/O地址,地址,64K。n优点:简化了指令系统优点:简化了指令系统n缺点:指令执行过程复杂缺点:指令执行过程复杂编址方式n一一个个零零地地址址空空间间:三三种种设设备备统统一一编编址址,寄寄存存器、主存和器、主存和I/O对应低地址到高地址对应低地址到高地址n无零地址空间:指堆栈计算机无零地址空间:指堆栈计算机nCACHE和和BUFFER是否需要编址?是否需要编址?寻址方式寻址方式n寻址方式的定义:寻址方式的定义:n指令中如何提供操作数或操作数地址的方式。指令中如何提供操作数或操作数地址的方式。n规定如何
8、对地址字段作出解释以找到操作数。规定如何对地址字段作出解释以找到操作数。*程程序序转转移移时时需需提提供供转转移移地地址址,这这跟跟提提供供操操作作数数地地址址在在方法上没有本质区别,因此也归入寻址方式的范畴方法上没有本质区别,因此也归入寻址方式的范畴。指令系统设计指令系统设计n包括操作码字段和操作数字段包括操作码字段和操作数字段n一一个个指指令令系系统统能能够够提提供供哪哪些些寻寻址址方方式式,能能否否为为编编制制程程序序提提供供方方便便,这这是是指指令令系系统统设设计计的的关键。关键。n需需要要说说明明的的是是,在在不不同同的的计计算算机机系系统统中中,寻寻址址方方式式的的名名称称和和分分
9、类类并并不不统统一一,但但基基本本可可以以归结为以下几种方式或它们的变型或组合:归结为以下几种方式或它们的变型或组合:寻址方式寻址方式n固定寻址固定寻址n立即寻址(立即数寻址)立即寻址(立即数寻址)n寄存器寻址寄存器寻址n直接寻址直接寻址n间接寻址间接寻址n变址寻址变址寻址 4.1 80864.1 8086微处理器的寻址方式与指令系统微处理器的寻址方式与指令系统 4.1.1 寻址方式寻址方式 一条指令包含操作码和操作数两部分,操作码指一条指令包含操作码和操作数两部分,操作码指出该指令要进行的操作,操作数指出该指令需要的出该指令要进行的操作,操作数指出该指令需要的操作数或操作数的地址。指令根据一
10、定的方式,找操作数或操作数的地址。指令根据一定的方式,找到操作数或操作数的地址,然后取出操作数进行处到操作数或操作数的地址,然后取出操作数进行处理。寻找操作数地址的方式称为寻址方式理。寻找操作数地址的方式称为寻址方式 表4-1 8086/8088的6种寻址方式 寻址方式寻址方式 汇编格式汇编格式 操作数位置操作数位置 寄存器寻址寄存器寻址 R 寄存器寄存器 寄存器间接寻址寄存器间接寻址 R 内存内存 变址寻址变址寻址 XR 内存内存 基址变址寻址基址变址寻址 XBR+IR 内存内存 直接寻址直接寻址 EA 内存内存 立即寻址立即寻址 n 内存代码段内存代码段 一、寄存器寻址 汇编格式:汇编格式
11、:R R(R R是寄存器名)是寄存器名)说明:寻找的操作数在寄存器说明:寻找的操作数在寄存器R R中中 例【例【4-14-1】INC AXINC AX 二、寄存器间接寻址 汇编格式:汇编格式:RR(R R是寄存器名)是寄存器名)说说明明:寄寄存存器器R R的的内内容容是是操操作作数数在在内内存存的的EAEA,先先从从寄寄存存器器R R中中取取出出操操作作数数在在内内存存的的EAEA,再再根根据据EAEA和和某某段段寄寄存存器器生生成成PAPA寻寻找找操操作作数数,所所以以称称为为间间接接寻寻址址。能能用用来来作作间间接接寻寻址址的的寄寄存存器器只只能能是是BXBX、SISI、DIDI或或BPB
12、P四者之一四者之一 例【例【4-24-2】MOV AXMOV AX,SISI 二、寄存器间接寻址(续)表表4-2 寄存器间接寻址方式物理地址生成寄存器间接寻址方式物理地址生成 段段 段寄存器段寄存器 EA EA PA PA 数据段数据段 DS DS BX BX(DS)(DS)左移左移4 4位位+EA+EA SI SI DI DI 附加数据段附加数据段 ES ES BX BX(ES)(ES)左移左移4 4位位+EA+EA SI SI DI DI 堆栈段堆栈段 SSSSBP BP(SS)(SS)左移左移4 4位位+EA+EA 三、变址寻址 汇编格式:汇编格式:XRXR(R R是寄存器名,是寄存器名
13、,X X表示位移量,表示位移量,其值是用其值是用8 8位或位或1616位二进制补码表示的有符号数)。位二进制补码表示的有符号数)。说明:寄存器说明:寄存器R R内容和位移量内容和位移量X X之和是操作数在内之和是操作数在内存的存的EAEA。先将寄存器。先将寄存器R R中的值和位移量中的值和位移量X X相加求出操相加求出操作数在内存的作数在内存的EAEA,再根据,再根据EAEA和某段寄存器生成和某段寄存器生成PAPA寻寻找操作数。能用来作变址寻址的寄存器只能是找操作数。能用来作变址寻址的寄存器只能是BXBX、SISI、DI DI 或或BPBP四者之一。四者之一。例【例【4-34-3】MOV BX
14、MOV BX,2BX2BX 三、变址寻址(续)表表4-3 变址寻址方式物理地址生成变址寻址方式物理地址生成 段段 段寄存器段寄存器 EA EA PA PA 数据段数据段 DS DS BX+X BX+X(DS)(DS)左移左移4 4位位+EA+EA SI+X SI+X DI+X DI+X 附加数据段附加数据段 ES ES BX+X BX+X(ES)(ES)左移左移4 4位位+EA+EA SI+X SI+X DI+X DI+X 堆栈段堆栈段 SSSSBP+X BP+X(SS)(SS)左移左移4 4位位+EA+EA 四、基址变址寻址 汇编格式:汇编格式:XBR+IRXBR+IR或或XBRIRXBRI
15、R(BRBR为基址寄存为基址寄存器,器,IRIR为变址寄存器,为变址寄存器,X X表示位移量,其值是用表示位移量,其值是用8 8位位或或1616位二进制补码表示的有符号数)位二进制补码表示的有符号数)说明:基址寄存器说明:基址寄存器BRBR、变址寄存器、变址寄存器IRIR的内容和位的内容和位移量移量X X三者之和是操作数在内存的三者之和是操作数在内存的EAEA。先将寄存器。先将寄存器BRBR、IRIR中的值和位移量中的值和位移量X X相加求出操作数在内存的相加求出操作数在内存的EAEA,再,再根据根据EAEA和某段寄存器生成和某段寄存器生成PAPA寻找操作数。基址寄存寻找操作数。基址寄存器只能
16、用器只能用BXBX或或BPBP,变址寄存器只能用,变址寄存器只能用SISI或或DIDI四、基址变址寻址(续)表表4-3基址变址寻址方式物理地址生成基址变址寻址方式物理地址生成段段 段寄段寄存器存器 EA PA 数据段数据段 DS BX+SI+X(DS)左移左移4位位+EA BX+DI+X 附加数附加数据段据段 ES BX+SI+X(ES)左移左移4位位+EA BX+DI+X 堆栈段堆栈段 SSBP+SI+X(SS)左移左移4位位+EA BP+DI+X五、立即寻址 汇编格式:汇编格式:n n(n n是一个常数,称为立即数)是一个常数,称为立即数)说说明明:指指令令操操作作码码后后面面单单元元的的
17、内内容容为为操操作作数数(常常数数n n),操操作作数数在在内内存存代代码码段段。立立即即寻寻址址所所提提供供的的操操作作数数直直接接放放在在指指令令中中,它它是是紧紧跟跟在在指指令令操操作作码码后后面面的的一一个个可可用用8 8位位或或1616位位二二进进制制补补码码表表示示的的有有符符号号数数。立立即寻址主要用来给寄存器或内存单元赋初值即寻址主要用来给寄存器或内存单元赋初值 例【例【4-64-6】MOV AXMOV AX,2 2是将立即数是将立即数2 2送到送到AXAX中中六、直接寻址 汇汇编编格格式式:含含有有变变量量的的地地址址表表达达式式或或段段寄存器寄存器:EA:EA 说说明明:在
18、在一一条条指指令令中中直直接接给给出出某某一一内内存存单单元元的的EAEA,这这个个EAEA经经过过汇汇编编后后放放在在这这条条指指令令的下一个字单元。的下一个字单元。例例【4-74-7】MOV MOV AXAX,20002000是是将将数数据据段段中中EAEA为为20002000的内存单元中的内容送到的内存单元中的内容送到AXAX中。中。4.1.3 80868086指令系统指令系统 一、数据传送指令一、数据传送指令表表4-6数据传送指令数据传送指令 类别类别 操作码操作码 格式格式 一般数据传一般数据传送指令送指令 MOV MOV OPD,OPS XCHG XCHG OPD,OPS XLAT
19、 XLAT OPS或或XLAT 4.1.3 80868086指令系统指令系统 一、数据传送指令一、数据传送指令(续续1)1)表表4-6数据传送指令数据传送指令 类别类别 操作码操作码 格式格式 堆栈操作指堆栈操作指令令 PUSH PUSH OPS POP POP OPD 4.1.3 80868086指令系统指令系统 一、数据传送指令一、数据传送指令(续续2)2)表表4-6数据传送指令数据传送指令 类别类别 操作码操作码 格式格式 标志寄存器标志寄存器传送指令传送指令 PUSHF PUSHF POPFPOPF LAHF LAHF SAHF SAHF 4.1.3 80868086指令系统指令系统
20、一、数据传送指令一、数据传送指令(续续3)3)表表4-6数据传送指令数据传送指令 类别类别 操作码操作码 格式格式 地址传送指地址传送指令令 LEA LEA OPD,OPS LDS LDS OPD,OPS LES LES OPD,OPS 输入输出指输入输出指令令 ININ OPD,OPS OUTOUT OPD,OPS 4.1.3 80868086指令系统指令系统 二、算术运算指令二、算术运算指令表表4-7 算术运算指令算术运算指令 类别类别 操作码操作码 格式格式 加法指令加法指令 ADDADD OPD,OPS ADCADC OPD,OPS INCINC OPD 4.1.3 80868086指
21、令系统指令系统 二、算术运算指令二、算术运算指令(续续1)1)表表4-7 算术运算指令算术运算指令 类别类别 操作码操作码 格式格式 减法指令减法指令 SUBSUB OPD,OPS SBBSBB OPD,OPS DECDEC OPD NEGNEG OPD CMPCMP OPD,OPS 4.1.3 80868086指令系统指令系统 二、算术运算指令二、算术运算指令(续续2)2)表表4-7 算术运算指令算术运算指令 类别类别 操作码操作码 格式格式 乘法指令乘法指令 MULMUL OPS IMULIMUL OPS 除法指令除法指令 DIVDIV OPS IDIVIDIV OPS 4.1.3 808
22、68086指令系统指令系统 三、位操作指令三、位操作指令 表表4-8 位操作指令位操作指令类别类别 操作码操作码 格式格式 逻辑逻辑运算运算指令指令 NOTNOT OPDANDAND OPD,OPSTESTTEST OPD,OPSOROR OPD,OPS XORXOR OPD,OPS 4.1.3 80868086指令系统指令系统 三、位操作指令三、位操作指令(续续1)1)表表4-8 位操作指令位操作指令类别类别 操作码操作码 格式格式 算术移算术移位指令位指令 SALSAL OPD,1或或SAL OPD,CL SARSAR OPD,1或或SAR OPD,CL 逻辑移逻辑移位指令位指令 SHLS
23、HL OPD,1或或SHL OPD,CL SHRSHR OPD,1或或SHR OPD,CL 4.1.3 80868086指令系统指令系统 三、位操作指令三、位操作指令(续续2)2)表表4-8 位操作指令位操作指令类别类别 操作码操作码 格式格式 不带进位不带进位的循环移的循环移位指令位指令 ROLROL OPD,1或或ROL OPD,CL RORROR OPD,1或或ROROPD,CL 带进位的带进位的循环移位循环移位指令指令 RCLRCL OPD,1或或RCL OPD,CL RCRRCR OPD,1或或RCR OPD,CL 4.1.3 80868086指令系统指令系统 四、转移指令四、转移指
24、令 转移指令分条件转移指令和无条件转移转移指令分条件转移指令和无条件转移指令两大类,其特点是改变程序的执行顺序指令两大类,其特点是改变程序的执行顺序(即改变指令指针(即改变指令指针IPIP的值),但不改变状态的值),但不改变状态标志位的状态。条件转移指令根据条件标志标志位的状态。条件转移指令根据条件标志的状态判断是否转移。无条件转移指令则不的状态判断是否转移。无条件转移指令则不作任何判断,无条件地转移到指令中指明的作任何判断,无条件地转移到指令中指明的目的地址处执行。转移指令共有目的地址处执行。转移指令共有1919条,具体条,具体见表见表4-94-94.1.3 80868086指令系统指令系统
25、 四、转移指令四、转移指令 表表4-9 转移指令转移指令 类别类别 指令名称指令名称 操作码操作码 转移条件转移条件 简单简单条件条件转移转移 相等相等/等于等于0转转 JE/JZ ZF=1 不相等不相等/不等于不等于0转转 JNE/JNZ ZF=0 为负转为负转 JS SF=1 为正转为正转 JNS SF=0 溢出转溢出转 JO OF=1 未溢出转未溢出转 JNO OF=04.1.3 80868086指令系统指令系统 四、转移指令四、转移指令(续续1)1)表表4-9 转移指令转移指令 类别类别 指令名称指令名称 操作码操作码 转移条件转移条件 简单简单条件条件转移转移 进位位为进位位为1转转
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 16 32 微处理器 指令系统 汇编语言 编程
限制150内