



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术8086/8088指令记忆表寄存器:数据寄存器分为:AH&AL AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数 ,另外 , 所有的 I/O 指令都使用这一寄存器与外界设备传送数据.版权文档,请勿用做商业用途BH&BL BX(base):基址寄存器,常用于地址索引;CH&CL CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令, 循环 (loop) 和串处理指令中用作隐含的计数器.版权文档,请勿用做商业用途DH&DL DX(data):数据寄存器,常用于数据传递。寄存器可以分为高8
2、 位 : AH, BH, CH, DH. 以及低八位:可以分别寻址,并单独使用。版权文档,请勿用做商业用途他们的特点是AL,BL,CL,DL 。这,这4个16位的2组8位寄存器另一组是指针寄存器和变址寄存器,包括:SP ( StackPointer): 堆栈指针,与 SS 配合使用,可指向目前的堆栈位置;BP ( BasePointer):基址指针寄存器,可用作SS 的一个相对基址位置;SI ( SourceIndex):源变址寄存器可用来存放相对于DS 段之源变址指针;DI( DestinationIndex):目的变址寄存器, 可用来存放相对于ES 段之目的变址指针。版权文档,请勿用做商业
3、用途指令指针 IP(InstructionPointer)标志寄存器 FR(FlagRegister)OF(overflowflag)溢出则 =1DF(directionflag)CF(carrier flag)第四位借第三位 =1PF(parityflag)AF(auxiliaryflag)ZF(zeroflag)=0 则=1SF(signflag)IF(interruptflag)TF(trapflag)段寄存器 (SegmentRegister)为了运用所有的内存空间,8086 设定了四个段寄存器,专门用来保存段地址:CS( CodeSegment): 代码段寄存器;DS ( DataS
4、egment): 数据段寄存器;SS (StackSegment): 堆栈段 寄存器; 版权文档,请勿用做商业用途ES( ExtraSegment): 附加段寄存器。第一部分:指令助记符:一、数据传送指令1. 通用数据传送指令MOV (Move )传送PUSH( Push ontothe stack )进栈a) 高字节 SP-1 低字节 SP-2 SP =SP-2b) PUSHA PUSHAD PUSHF PUSHFDPOP( Pop fromthestack )出栈a) 低字节SP 高字节 SP+1 SP =SP+2 版权文档,请勿用做商业用途B) POPAD POPA POPFD POPF
5、XCHG( Exchange )交换2. 累加器专用传送指令IN(Input)输入OUT(Output)输出XLAT(Translate)换码DS:AL+BX=AL3. 有效地址送寄存器指令LEA(Loadeffectiveaddress)有效地址送寄存器LDS(LoadDS withPointer)指针送寄存器和DSLES(LoadES withPointer)指针送寄存器和ES4. 标志寄存器传送指令LAHF(LoadAH withflags)标志寄存器8 位送 AHSAHF(storeAH into flags)AH 送标志寄存器8 位PUSHF(pushthe flags)标志进栈PO
6、PF(popthe flags)标志出栈二、算术指令1. 加法指令ADD(add)加法ADC(addwith carry)带进位加法INC(increment)加 12. 减法指令SUB(subtract)减法SBB(subtractwithborrow)带借位减法DEC(Decrement)减 1CMP(Compare)比较只改变标志位, 不改变目的操作数版权文档,请勿用做商业用途3. 乘法指令MUL(UnsignedMultiple)无符号数乘法A) 8 位乘法,内容放在 AXB) 16 位乘法,内容放在 DX(高位) AX(低位)IMUL(SignedMultiple)带符号数乘法乘法不
7、允许使用立即数,除非是带符号的立即数乘法。4. 除法指令DIV(Unsigneddivide)无符号数除法IDIV(Signeddivide)带符号数除法A) 8位商 AL余数 AHB) 16 位商 AX 余数 DXC) 除以 0 ,或者溢出均错误CBW(Convertbyteto word)字节转换为字(有符号数)CWD(Contertwordto doubleword)字转换为双字(有符号数)三、逻辑指令1. 逻辑运算指令AND(and)逻辑与OR(or)逻辑或NOT(not)2的补码逻辑非NEG1 的补码XOR(exclusiveor)异或TEST(test)只改变标志寄存器的状态的AN
8、D测试 版权文档,请勿用做商业用途2. 移位指令SHL(shiftlogicalleft)逻辑左移SAL(shiftarithmeticleft)算术左移SHR(shiftlogicalright)逻辑右移SAR(shiftarithmeticright)算术右移逻辑移位用于无符号数算术移位用于有符号数ROL(Rotateleft)循环左移ROR(Rotateright)循环右移RCL(Rotateleftthroughcarry)带进位循环左移RCR(Rotaterightthroughcarry)带进位循环右移四、串处理指令1.重复前端指令REP(Repeat)重复串操作直到(CX)=0为
9、上REPE(Repeatwhenempty)若 (CX)=0,则退出, 否则CX=CX+1;REPZ(Repeatwhenflag)若 ZF=0 ,则退出REPC(Repeat whencarryflag)REPNE(Repeatwhennot empty)REPNZ(Repeatwhennotzero flag)REPNC(Repeatwhennot carryflag), 否则CX=CX+1;2.串操作指令MOVSB (Movestringof byte)ES:DI=ES:SIDI=DI+1/-1串传送指令 版权文档,请勿用做商业用途MOVSW(Movestringof word)ES:D
10、I=ES:SIDI=DI+2/-2串传送指令版权文档,请勿用做商业用途STOSB(Storestringof byte)fromal存串指令 版权文档,请勿用做商业用途STOSW(Storestringof word)fromax存串指令 版权文档,请勿用做商业用途LODSB(Loadstringofbyte)in al取串指令 版权文档,请勿用做商业用途LODSW(Loadstringofword)in ax取串指令 版权文档,请勿用做商业用途CLD(Cleardirectionflag) 该指令使DF=0, 在执行串操作指令时可使地址自动增量; 版权文档,请勿用做商业用途STD(Setdi
11、rectionflag)该指令使DF=1, 在执行串操作指令时可使地址自动减量.版权文档,请勿用做商业用途INSBES:DI=DX串输入OUTSBDX = ES:DI串输出DAA(Decimaladjustafteraddition)组合 BCD 码的加法调整指令勿用做商业用途DAS(Decimaladjustaftersubstract)组合 BCD 码的减法调整指令请勿用做商业用途版权文档,请版权文档,MOVSX8 位转换 16 位数字无符号用 0 填充MOVZX有符号用符号位填充CMPSB(Comparestringof byte)存储单元和存储单元串比较指令 版权文档,请勿用做商业用途
12、SCASB(Scanstringofbyte)存储单元和AX串搜索指令 版权文档,请勿用做商业用途五、控制转移指令1.无条件转移指令JMP(jmp)跳转指令2.条件转移指令(1) 根据单个条件标志的设置情况转移JZ(或 JE)(Jump if zero,or equal) 结果为零 ( 或相等 )则转移JS(Jump if sign)结果为负则转移JNS(Jumpif notsign)结果为正则转移JO(Jumpif overflow)溢出则转移JNO(Jumpif notoverflow)不溢出则转移JNP(或 JPO)(Jumpif notparity,orparityodd)奇偶位为0
13、则转移 版权文档,请勿用做商业用途JP(或 JPE)(Jumpif parity,orparityeven)奇偶位为 1 则转移JB(或 JNAE,JC)(Jumpif below,ornotaboveor equal,orcarry) 低于 ,或者不高于或等于 ,或进位位为1 则转移 版权文档,请勿用做商业用途JNB(或 JAE,JNC)(Jump if not below,or above or equal,or not carry) 不低于 ,或者高于或者等于 , 或进位位为 0 则转移 版权文档,请勿用做商业用途(2) 比较两个无符号数,并根据比较的结果转移JB(或 JNAE,JC)J
14、NB(或 JAE,JNC)JBE( 或 JNA)(Jumpif belowor equal,ornotabove) 低于或等于 ,或不高于则转移版权文档,请勿用做商业用途JNBE(或 JA)(Jumpif notbelowor equal,orabove) 不低于或等于 , 或者高于则转移版权文档,请勿用做商业用途(3) 比较两个带符号数 ,并根据比较的结果转移JL(或 LNGE)(Jumpif less,ornot greaterorequal) 小于 , 或者不大于或者等于则转移 版权文档,请勿用做商业用途JNL(或 JGE)(Jumpif notless,orgreateror equa
15、l) 不小于 ,或者大于或者等于则转移 版权文档,请勿用做商业用途JLE(或 JNG)(Jumpif less or equal,ornotgreater) 小于或等于 ,或者不大于则转移版权文档,请勿用做商业用途JNLE(或 JG)(Jumpif not less or equal,orgreater) 不小于或等于,或者大于则转移版权文档,请勿用做商业用途(4) 测试 CX 的值为 0 则转移指令JCXZ(Jumpif CX registeris zero)CX 寄存器3.循环指令LOOP(loop)CX=0循环指令 版权文档,请勿用做商业用途4.子程序CALL(call)将下一条指令的偏
16、移地址压栈调用指令 版权文档,请勿用做商业用途RET(return)返回指令5.中断INT(interrupt)指令4 个字节 =IPSIIRET(interruptreturn)从中断返回指令INTO(interruptif overflow)若溢出则中断六、处理机控制指令1.标志处理指令CLC(Clear carry)进位位置0 指令 CF<-0 版权文档,请勿用做商业用途CMC(Complementcarry)进位位求反指令CF<-CFSTC(Set carry)进位位置1 指令 CF<-1 版权文档,请勿用做商业用途CLD(Cleardirection)方向标志置0 指令 DF<-0 版权文档,请勿用做商业用途STD(Setdirection)方向标志置1 指令 DF<-1 版权文档,请勿用做商业用途CLI(Clearinterrupt)中断标志置0 指令 IF<-0版权文档,请勿用做商业用途STI(Setinterrupt)中断标志置1 指令 IF<-0版权文档,请勿用做商业用途2.其他处理机控制指令NOP(No Opreation)无操作HLT(Halt)停机WAIT(Wait)等待ESC(Escape)换码LOCK(Loc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通安全现场勘察与优化方案合同
- 潮汐能发电站围堰施工与生态补偿合同
- 劳动合同续签标准书含薪酬调整
- 低碳环保厂房物业管理与绿色能源应用合同
- 矿山采矿权抵押贷款与矿山安全生产责任保险合同
- 4月安全生产事故
- 六月消防安全月活动方案
- 食品安全生产主体责任
- 安全生产培训包括
- 物业品质部管理制度
- 全员安全生产应知应会手册
- GB/T 44696-2024剧院服务规范
- 储能电池模组PACK和系统集成项目可行性研究报告
- 内分泌科血糖监测制度
- 《起重机械安全技术规程》(TSG51-2023)知识培训
- 工厂车间流水线承包合同协议书范文
- 人工智能算法与实践-第6章 KNN算法
- 反诈知识竞赛试题及答案(76题)
- 植被图与地形因子碳汇关系
- 青海省西宁市(2024年-2025年小学三年级语文)人教版期末考试(下学期)试卷(含答案)
- 河北省秦皇岛市(2024年-2025年小学三年级语文)人教版能力评测(下学期)试卷(含答案)
评论
0/150
提交评论