




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,3.1.28086指令系统的概况,1、指令格式2、指令执行时间,2,8086指令格式,3,指令格式,大多数操作码含3个特征位(简单了解)W位、D位、S位,含义:1、W位是字操作标志位。W=1,字操作;W=0,字节操作。2、D位是对目的操作数进行寄存器寻址的标志,对于双操作数,其中一个操作数必须由寄存器指出,D=1,表示寄存器寻址的是目的操作数,D=0,表示既存器寻址的是源操作数。,4,3、S位是符号扩展位:一个8位补码扩展为16位补码,使高位字节的所有位等于低位字节的有效位。,AL=10101111BAH=11111111B,AL=10101111B,5,几点注意:一条指令中可以包含一个或多个操作数涉及一个操作数的指令称为单操作数指令如位移量或立即数为16位,那么低位在前,高位在后。,6,指令执行时间,总时间=基本执行时间+计算有效地址的时间+读取内存的时间字操作数在内存的存放格式也是影响一条指令执行时间的因素。,7,8086数据总线的传输特性:读写偶地址字读写偶地址字节读写奇地址字节读写奇地址字,8,3.1.38086/8088指令系统,可分成如下6类:数据传送指令算术运算指令逻辑运算和移位指令串操作指令程序控制指令处理器控制指令,9,1数据传送指令,可实现存储器寄存器I/O数据传送指令又可分为如下四种:通用传送目标地址传送标志传送输入输出,10,1.通用传送指令MOVdest,src;destsrc把一个字节(B)或一个字(W)操作数由源传送至目的。实现:寄存器寄存器/存储器之间;立即数寄存器/存储器寄存器/存储器段寄存器之间的数据传送。,11,具体来说可实现:MOVmem/reg1,mem/reg2/立即数指令中两操作数中至少有一个为寄存器例:MOVCL,DLMOVAX,BXMOVSI,CXMOVCL,BX+5,12,MOVreg,data;立即数送寄存器MOVmem,data;立即数送存储单元MOVacc,mem;存储单元送累加器MOVmem,acc;累加器送存储单元MOVsegreg,mem/reg;存储单元/寄存器送段寄存器MOVmem/reg,segreg;段寄存器送存储单元/寄存器,13,MOV指令使用规则:,1)IP不能作目的寄存器2)不允许memmem3)不允许segregsegreg4)立即数不允许作为目的操作数5)不允许segreg立即数6)源操作数与目的操作数类型要一致7)用BX、SI、DI来间接寻址时,默认的段寄存器为DS,而用BP来间接寻址时,默认的段寄存器为SS。8)执行SS寄存器赋值的传送指令时,系统自动禁止外部中断。9)所有的通用传送指令都不改变标志。,14,几个不能传送的解决办法:用AX作桥梁存储器存储器:MOVAX,MEM1MOVMEM2,AX段寄存器段寄存器:MOVAX,DSMOVES,AX段寄存器立即数:MOVAX,DATAMOVDS,AX,15,应用举例:将1000H开始的100个存储单元全部填充为ASCII码2AH(*)。程序段如下:MOVDI,1000H;DI指向第一个单元MOVCX,64H;循环计数器MOVAL,2AH;填充的ASCII码AGAIN:MOVDI,AL;填充存储单元INCDI;DI指向下一个单元DECCX;循环次数减一JNZAGAIN;判断循环是否结束HLT;暂停,16,上程序段存放在代码段中,設(CS)=109EH,则各条指令存放地址如下:CS:IP指令109E:0100MOVDI,1000H109E:0103MOVCX,64H109E:0106MOVAL,2AH109E:0108MOVDI,AL109E:010AINCDI109E:010BDECCX109E:010CJNZ0108109E:010EHLT109E:0110,17,写入2AH(*)后,数据段中相应存储单元的内容改变如下:DS:10002A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADS:10102A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADS:10202A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADS:10302A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADS:10402A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADS:10502A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2ADS:10602A2A2A2A,18,什么是堆栈?按“后进先出(LIFO)”方式工作的存储区域。堆栈以字为单位进行压入弹出操作。为什么要设置堆栈?为什么要按“后进先出”方式工作?参见下图,(2)堆栈操作指令,19,主程序,IP,继续执行,主程序,执行子程序,转子程序,压栈,弹出,返回主程序,主程序,IP,IP(下),继续执行,主程序,转子程序1,返回主程序,IP,执行子程序2,转子程序2,返回子程序1,IP(下),执行子程序1,继续执行,子程序1,(a),(b),子程序调用示意图,(a)主程序调子程序;(b)子程序嵌套示意图,压栈,弹出,IP(下),20,规定由SS指示堆栈段的段基址,堆栈指针SP始终指向堆栈的顶部,SP的初值规定了所用堆栈区的大小。堆栈的最高地址叫栈底。,SP,SS,堆栈段,进栈方向,退栈方向,栈底,栈顶,高地址,21,压栈指令PUSHsrc;src为16位操作数例:PUSHAX;将AX内容压栈执行操作:(SP)-1高字节AH(SP)-2低字节AL(SP)(SP)-2,22,设(AX)=1020H,执行示意图如图:,低地址,存储区(SS段),执行前(AX)=1020,(SP),存储区(SS段),进栈方向,执行后,20,10,(AL),(AH),PUSHAX指令执行示意图,(SP)-2,(SP),高地址,低地址,高地址,(SP)-1,23,压栈指令的格式为:PUSHregPUSHmem/regPUSHsegreg例如:PUSHAXPUSHBXPUSHDS,注意进栈方向是高地址向低地址发展。,24,弹出指令POPdest例:POPBX;将栈顶内容弹至BX执行操作:(BL)(SP)(BH)(SP)+1(SP)(SP)+2,25,POPBX的执行示意图如下图所示:,低地址,存储区(SS段),出栈方向,执行前,20,10,POPBX指令执行示意图,(SP),存储区(SS段),执行后(BX)=1020,(SP),(SP)+1,(SP)+2,BX,20,10,高地址,低地址,高地址,26,堆栈指令使用时应注意几点:堆栈操作总是按字进行不能从栈顶弹出一个字给CS堆栈指针为SS:SP,SP永远指向栈顶SP自动进行增减量(-2,+2),27,格式:XCHGreg,mem/reg功能:交换两操作数的内容。要求:两操作数中必须有一个在寄存器中;操作数不能为段寄存器、IP和立即数;源和目地操作数类型要一致。举例:XCHGAX,BXXCHG2000,CL寄存器之间寄存器和存储器之间允许字或字节操作,不影响标志位。,(3)交换指令XCHG,28,(4)输入输出(I/O)指令,只限于用累加器AL或AX来传送信息。功能:(累加器)I/O端口1)输入指令IN格式:INacc,PORT;PORT端口号0255INacc,DX;DX表示的端口范围达64K例:INAL,80H;(AL)(80H端口)INAL,DX;(AL)(DX),29,例:OUT68H,AX;(69H,68H)(AX)OUTDX,AL;(DX)(AL)在使用间接寻址的IN/OUT指令时,要事先用传送指令把I/O端口号设置到DX寄存器,如:MOVDX,220HINAL,DX;将220H端口内容读入AL,2)输出指令OUT格式:OUTport,accOUTDX,acc,(4)输入输出(I/O)指令,30,(5)查表指令XLAT执行的操作:AL(BX)+(AL)又叫查表转换指令,它可根据表项序号查出表中对应代码的内容。执行时先将表的首地址(偏移地址)送到BX中,表项序号存于AL中。例如:内存数据段有一张16进制数的ASCII码表,设首地址为2000H,如欲查出表中第11个代码(代码序号从0开始)即十六进制数B的ASCII码。ASCII表在DS段中,并假设(DS)=4000H。见下页图。,31,30,31,32,.,39,41,42,.,45,46,.,42000H+0,42000H+0BH,0,1,2,9,A,B,E,F,十六进制数ASCII码表,存储器,32,则可用如下几条指令实现:,MOVBX,2000H;(BX)表首地址MOVAL,0BH;(AL)序号XALT;查表转换执行后得到:(AL)=42H=B,注意:转换表长度最大为256个表项(字节)。,33,(5)字节-字转换指令,格式:CBW;把AL的符号位复制到AHCWD;把AX的符号位复制到DX用途:用于有符号数的除法。例如:(AL)=A7H,则执行CBW后,AH的内容为FFH。,例MOVAL,6FHAL=01101111BCBWAH=00000000B,AL=01101111B(不变)例MOVAL,0AFHAL=10101111BCBWAH=11111111B,AL=10101111B(不变),34,例MOVAX,4F0AHCWD;DX=0000H,AX不变例MOVAX,0EF00HCWD;DX=FFFFH,AX值不变,35,3.地址传送指令共有三条:格式:LEAreg,mem;将指定存储器的16位偏移地址送指定寄存器LDSreg,mem32;DS:reg(mem开始的四个内存单元)LESreg,mem32;同上,但DS改为ES要求源操作数必须是一个内存操作数,目的操作数必须是一个16位的通用寄存器。,36,设:(SI)=1000H则执行该指令后,(BX)=1010H注意以下两条指令差别:LEABX,BUFFERMOVBX,BUFFER前者表示将符号地址为BUFFER的存储单元的偏侈地址取到BX中;后者表示将BUFFER存储单元中的内容取到BX中.,例:LEABX,SI+10H,37,下面两条指令等效:LEABX,BUFFERMOVBX,OFFSETBUFFER其中OFFSETBUFFER表示存储器单元BUFFER的偏移地址。二者都可用于取存储器单元的偏移地址,但LEA指令可以取动态的地址,OFFSET只能取静态的地址。,38,例:假设:DS=C000H指令:LDSSI,0010H执行指令后:SI=?DS=?SI=0180HDS=2000H,39,4.标志传送指令共有四条:(1)读标志指令LAHFLAHF把标志寄存器低8位中的5个标志位传送到AH中的指定位,如下图所示:,OF,DF,IF,TF,SF,ZF,AF,PF,CF,AH,LAHF指令的功能,FLAG,40,(2)设置标志指令SAHFSAHF的功能与LAHF的功能正好相反,用图来示意,只要将上图中5个箭头方向反一下即可。,OF,DF,IF,TF,SF,ZF,AF,PF,CF,AH,SAHF指令的功能,FLAG,41,执行的操作:(SP)-1标志寄存器高8位(SP)-2标志寄存器低8位(SP)(SP)-2(4)从栈顶弹出标志寄存器指令POPF执行的操作:标志寄存器低8位(SP)标志寄存器高8位(SP)+1(SP)(SP)+2PUSHF和POPF指令用于保护和恢复标志寄存器内容。,(3)把标志寄存器推入栈顶指令PUSHF,42,例如:PUSHAXPUSHCXPUSHF;保护标志寄存器内容;这段程序要用到AX,CX以及标志位POPF;恢复标志寄存器内容POPCXPOPAX,.,43,数据传送指令中,除SAHF和POPF这两条指令外,其余所有指令均不影响标志位。,44,2算术运算指令,涉及两种类型数据:无符号数和有符号数。对加减法指令,无符号和有符号数可采用同一套指令,但应注意:参加的操作数必须都是无符号数或都是有符号数。需使用不同的标志位来检查无符号数和有符号数的运算结果是否溢出。,45,两个8位数相加时有4种情况:,无符号数和有符号数均不溢出二进制相加无符号数加有符号数加000010008+8+00011110+30+(+30)0010011038+38结果38CF=0OF=0,46,无符号数溢出000010008+8+11111101+253+(-3)100000101261+5结果5CF=1OF=0有符号数溢出000010008+8+01111101+125+(+125)10000101133+133结果-123CF=0OF=1(补码表示),47,无符号数和有符号数均溢出10001000136-120+11110111+247+(-9)101111111383-129结果127CF=1OF=1上面四种情况说明,CF标志可用来表示无符号数的溢出,OF标志可用来表示有符号数的溢出。有符号数的溢出是一种出错状态,在运算过程中应当避免。,48,共有5条:(1)不带进位的加法指令ADD格式:ADDacc,dataADDmem/reg,dataADDmem/reg1,mem/r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 太极沉香活动方案
- 地名文化竞赛活动方案
- 天府新区植树节活动方案
- 地产关怀活动方案
- 大班画画比赛活动方案
- 夏季出门活动方案
- 夏天促销文案活动方案
- 大将军陶瓷宣传活动方案
- 夜市广场活动方案
- 大班社区菜场活动方案
- 人教版七年级下册数学全册课件
- 全自动橡胶注射硫化成型机操作规程
- 申报正高工程师职称技术总结范文
- 比亚迪秦PLUS EV说明书
- 幼儿园中班红色经典故事《抗日英雄王二小》红色革命教育绘本故事PPT课件【幼儿教案】
- 贝雷法简介及贝雷三参数在沥青混合料配合级配设计中应用
- 信用管理师(三级)理论考试题库(300题)
- 电大《中国现代文学专题》期末复习题及答案
- 投标密封条格式大全
- (2023)国库知识竞赛题库(含答案)
- 2023年北京理工附中小升初英语分班考试复习题
评论
0/150
提交评论