




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8086的指令系统,Intel 8086指令系统共有117条基本指令可分成6个功能组 数据传送类指令 算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理机控制类指令,如何学习,8086的指令系统,指令的功能该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式指令支持的寻址方式该指令中的操作数可以采用何种寻址方式指令对标志的影响该指令执行后是否对各个标志位有影响,以及如何影响其他方面该指令其他需要特别注意的地方,如指令执行时的约定设置、必须预置的参数、隐含使用的寄存器等,汇编语言指令格式,由4部分组成:标号: 指令助记符 目的操作数,源操作数 ; 注释,标号表示该指令在主存中的逻辑地址,每个指令助记符就代表一种指令,目的和源操作数表示参与操作的对象,注释是对该指令或程序段功能的说明,教学提示,全面而准确地理解每条指令的功能和应用,是编写汇编语言程序的关键,逐个展开指令,第2讲 基本指令,掌握MOV、 XCHG、 LEA、ADD、INC、SUB、DEC、NEG、CMP、MUL、DIV、字符输入输出指令的作用、参数要求。了解XLAT、LDS、LES、ADC、SBB、IMUL、IDIV、CBW、CWD指令的作用、参数要求(自学内容)。,第2讲 基本指令,1 数据传送类指令2 算术运算类指令3 字符输入输出指令,1 数据传送类指令,数据传送是计算机中最基本、最重要的一种操作传送指令也是最常使用的一类指令传送指令把数据从一个位置传送到另一个位置除标志寄存器传送指令外,均不影响标志位,(1) 传送指令MOV(move),把一个字节或字的操作数从源地址传送至目的地址,MOV reg/mem,imm;立即数送寄存器或主存,例题2.1,MOV reg/mem/seg,reg;寄存器送(段)寄存器或主存,例题2.2,MOV reg/seg,mem;主存送(段)寄存器,例题2.3,MOV reg/mem,seg;段寄存器送寄存器或主存,例题2.5,例2.1:立即数传送,mov al,4h;al4,字节传送mov cx,0ffh;cx00ffh,字传送mov si,200h;si0200h,字传送mov byte ptr si,0ah;byte ptr 说明是字节操作mov word ptr si+2,0bh;word ptr 说明是字操作,注意立即数是字节量还是字量 明确指令是字节操作还是字操作,MOV,例2.2:寄存器传送,mov ax,bx;axbx,字传送mov ah,al;ahal,字节传送mov ds,ax;dsax,字传送mov bx,al;bxal,字节传送,MOV,例2.3:存储器传送,mov al,bxmov dx,bp;dxss:bpmov es,si;esds:si,不存在存储器向存储器的传送指令,MOV,例2.5:段寄存器传送,mov si,dsmov ax,es;axesmov ds,ax;dsaxes,对段寄存器的操作有一些限制,MOV,MOV指令传送功能,MOV并非任意传送,非法传送种种,两个操作数的类型不一致例如源操作数是字节,而目的操作数是字;或相反两个操作数不能都是存储器传送指令很灵活,但主存之间的直接传送却不允许段寄存器的操作有一些限制段寄存器属专用寄存器,对他们的操作能力有限,示例,示例,示例,两个操作数的类型要一致,绝大多数双操作数指令,除非特别说明,目的操作数与源操作数必须类型一致,否则为非法指令MOV AL,050AH;非法指令:050Ah为字,而AL为字节寄存器有明确的字节或字类型,有寄存器参与的指令其操作数类型就是寄存器的类型对于存储器单元与立即数同时作为操作数的情况,必须显式指明;byte ptr指示字节类型,word ptr指示字类型,两个操作数不能都是存储器,8086指令系统不允许两个操作数都是存储单元(除串操作指令),要实现这种传送,可通过寄存器间接实现mov ax,buffer1;axbuffer1(将buffer1内容送ax)mov buffer2,ax;buffer2ax;这里buffer1和buffer2是两个字变量;实际表示直接寻址方式,要小心段寄存器的操作,不允许立即数传送给段寄存器MOV DS,100H;非法指令:立即数不能传送段寄存器不允许直接改变CS值MOV CS,SI;不允许使用的指令不允许段寄存器之间的直接数据传送MOV DS,ES;非法指令:不允许段寄存器间传送0,常用DEBUG命令,汇编命令A格式:-A 内存地址功能:先显示汇编的内存地址,等待用户输入一条助记符指令。用户输入指令并按回车键后,DEBUG将把这条指令对应的机器码以此存放在指定的内存单元中,并提示下一地址,等待用户继续输入下一条指令。若直接按回车键,则退出A命令,若在输入指定语句有错,则显示出错信息,仍提示当前的汇编地址,用户可重新输入命令。,常用DEBUG命令,反汇编命令U格式:-U内存块功能:从指定的内存地址开始对内存块进行反汇编,并分三列显示反汇编的结果。第一列为指令首地址,第二列为十六进制形式的指令机器码,第三列为指令的助记符。若命令中只给出反汇编的起始地址 ,则反汇编的默认长度为20H个字节左右。,常用DEBUG命令,单步执行命令T格式1:-T=内存地址格式2: -T=内存地址 执行指令条数功能:格式1用命令中内存地址的段地址和偏移地址修改CS和IP,然后执行由CS:IP指向的内存单元处的一条指令,显示各寄存器的值,并反汇编下一条指令,返回DEBUG状态。若命令中不用“=”号给出执行的首地址,则从当前CS:IP指向的指令开始执行。 格式2则从指定的内存地址处开始执行指定条数的指令,每执行一条指令,都按单步执行的方式给出执行结果。,(2) 交换指令XCHG(exchange),把两个地方的数据进行互换,寄存器与寄存器之间对换数据寄存器与存储器之间对换数据不能在存储器与存储器之间对换数据,XCHG reg,reg/mem;reg reg/mem,例题2.7,例题2.6,例2.6:寄存器间交换,mov ax,1234h;ax=1234hmov bx,5678h;bx=5678hxchg ax,bx;ax=5678h,bx=1234hxchg ah,al;ax=7856h,XCHG,例2.7:寄存器与存储器交换,xchg ax,2000h;字交换;等同于 xchg 2000h,axxchg al,2000h ;字节交换;等同于 xchg 2000h,al,XCHG,(3)有效地址传送指令LEA(load EA),将存储器操作数的有效地址传送至指定的16位寄存器中注意不是获取存储器单元的内容,例题2.13,LEA r16,mem;r16mem的有效地址EA,例2.13:获取有效地址,mov bx,0400hmov si,3chlea bx,bx+si+0f62h;BX0400h003ch0f62h139EH,获得主存单元的有效地址;不是物理地址,也不是该单元的内容 可以实现计算功能,LEA,2 算术运算类指令,四则运算是计算机经常进行的一种操作。算术运算指令实现二进制(和十进制)数据的四则运算请注意算术运算类指令对标志的影响,(4)加法指令ADD,ADD指令将源与目的操作数相加,结果送到目的操作数ADD指令按状态标志的定义相应设置,ADD reg,imm/reg/mem;regregimm/reg/memADD mem,imm/reg;memmemimm/reg,例题2.17a,例2.17a:加法运算,mov al,0fbh;al=0fbhadd al,07h;al=02hOF=0 SF=0 ZF=0 AF=1 PF=0 CF=1mov word ptr 200h,4652h;200h=4652hmov bx,1feh;bx=1fehadd al,bl;al=00hadd word ptr bx+2,0f0f0h;200h=3742h,ADD,(5)增量指令INC(increment),INC指令对操作数加1(增量)INC指令不影响进位CF标志,按定义设置其他状态标志,INC reg/mem;reg/memreg/mem1,inc bxinc byte ptr bx,(6)减法指令SUB(subtract),SUB指令将目的操作数减去源操作数,结果送到目的操作数SUB指令按照定义相应设置状态标志,SUB reg,imm/reg/mem;regregimm/reg/memSUB mem,imm/reg;memmemimm/reg,例题2.18a,例2.18a:减法运算,mov al,0fbh;al=0fbhsub al,07h;al=0f4hOF=0 SF=1 ZF=0 AF=0 PF=0 CF=0mov word ptr 200h,4652h;200h=4652hmov bx,1feh;bx=1fehsub al,bl;al=0f6hsub word ptr bx+2,0f0f0h;200h=5562h,SUB,(9)减量指令DEC(decrement),DEC指令对操作数减1(减量)DEC指令不影响进位CF标志,按定义设置其他状态标志,DEC reg/mem;reg/memreg/mem1,INC指令和DEC指令都是单操作数指令 主要用于对计数器和地址指针的调整,(8)求补指令NEG(negative),NEG指令对操作数执行求补运算:用零减去操作数,然后结果返回操作数求补运算也可以表达成:将操作数按位取反后加1NEG指令对标志的影响与用零作减法的SUB指令一样,NEG reg/mem;reg/mem0reg/mem,例题2.19,例2.19:求补运算,mov ax,0ff64hneg al;ax=ff9ch,OF=0、SF=1、ZF=0、PF=1、CF=1sub al,9dh;ax=ffffh,OF=0、SF=1、ZF=0、PF=1、CF=1neg ax;ax=0001h,OF=0、SF=0、ZF=0、PF=0、CF=1dec al;ax=0000h,OF=0、SF=0、ZF=1、PF=1、CF=1neg ax;ax=0000h,OF=0、SF=0、ZF=1、PF=1、CF=0,NEG,(9)比较指令CMP(compare),CMP指令将目的操作数减去源操作数,按照定义相应设置状态标志CMP指令执行的功能与SUB指令,但结果不回送目的操作数,CMP reg,imm/reg/mem;regimm/reg/memCMP mem,imm/reg;memimm/reg,例题2.20,例2.20:比较AL与100,cmp al,100;al-100jb below;al100,跳转到below执行sub al,100;al100,alal-100inc ah;ahah+1below:.,执行比较指令之后,可以根据标志判断两个数是否相等、大小关系等,CMP,(10)乘法指令 MUL,MUL r8/m8;无符号字节乘法;AXALr8/m8MUL r16/m16;无符号字乘法;DX.AXAXr16/m16,说明,例题2.21,乘法指令的功能,乘法指令分无符号和有符号乘法指令乘法指令的源操作数显式给出,隐含使用另一个操作数AX和DX字节量相乘:AL与r8/m8相乘,得到16位的结果,存入AX字量相乘:AX与r16/m16相乘,得到32位的结果,其高字存入DX,低字存入AX乘法指令利用OF和CF判断乘积的高一半是否具有有效数值,乘法指令对标志的影响,乘法指令如下影响OF和CF标志:MUL指令若乘积的高一半(AH或DX)为0,则OF=CF=0;否则OF=CF=1乘法指令对其他状态标志没有定义,对标志没有定义:指令执行后这些标志是任意的、不可预测(就是谁也不知道是0还是1) 对标志没有影响:指令执行不改变标志状态,例2.21:乘法运算,mov al,0b4h;al=b4h=180mov bl,11h;bl=11h=17mul bl;ax=Obf4h=3060;OF=CF=1,AX高8位不为0,(11)除法指令 DIV,DIV r8/m8;无符号字节除法:ALAXr8/m8的商,AhAXr8/m8的余数DIV r16/m16;无符号字除法:;AXDX.AXr16/m16的商,DXDX.AXr16/m16的余数,例题2.22,说明,除法指令的功能,除法指令分无符号和有符号除法指令除法指令的除数显式给出,隐含使用另一个操作数AX和DX作为被除数字节量除法:AX除以r8/m8,8位商存入AL,8位余数存入AH字量除法:DX.AX除以r16/m16,16位商存入AX,16位余数存入DX除法指令对标志没有定义除法指令会产生结果溢出,除法错中断,当被除数远大于除数时,所得的商就有可能超出它所能表达的范围。如果存放商的寄存器AL/AX不能表达,便产生溢出,8086CPU中就产生编号为0的内部中断除法错中断对DIV指令,除数为0,或者在字节除时商超过8位,或者在字除时商超过16位,例2.22:除法运算,mov ax,0400h;ax=400h=1024mov bl,0b4h;bl=b4h=180div bl;商al05h5;余数ah7ch124,3 字符输入输出指令,利用DOS提供给用户的系统功能int 21调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京第三实验学校招聘22人模拟试卷(含答案详解)
- 2025河北邯郸市肥乡区选聘农村党务(村务)工作者100人模拟试卷及1套完整答案详解
- 2025贵州装备制造职业学院第十三届贵州人才博览会引才7人模拟试卷及答案详解(夺冠系列)
- 2025广西防城港市港口区财政局招聘2人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025年潍坊寿光综合医院(原寿光市人民医院)招聘专业技术人员(23名)模拟试卷带答案详解
- 吉林省普通高中G8教考联盟2024-2025学年高一下学期期末考试地理试题(A卷)(解析版)
- 湖南省岳阳市2024届高三下学期教学质量监测(二)地理试题(解析版)
- 产品质量检验检测流程化模板
- 2025广东揭阳市惠来县校园招聘卫生专业技术人员80人考前自测高频考点模拟试题及答案详解参考
- 会议策划组织工具及活动执行指南
- 毕业设计(论文)-汽车轮毂工装夹具设计
- 抗癫痫类药讲课件
- 2025三年级科学教学质量提升计划
- 绿化公司仓库管理制度
- 飞行器维修技术专业教学标准(高等职业教育专科)2025修订
- 2025-2030中国环氧浆料市场供需现状与未来前景趋势洞察报告
- 【永州】2024年湖南永州冷水滩区事业单位招聘工作人员55人笔试附带答案详解
- (高清版)DB13∕T 5222-2020 向列相热致液晶单体纯度的测定 气相色谱法
- 微观经济学(第九版)中文教师手册
- 2025-2030中国慢性肾脏病(CKD)行业市场发展趋势与前景展望战略研究报告
- 洗护系列产品培训
评论
0/150
提交评论