版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8086汇编总结程伟整理8086汇编总结、8086编程结构执 行 部 件EU通 用 寄 存器AX累加器数据寄存器BX基数寄存器CX计数器DX数据寄存器专 用 寄 存器BP基数指针指针寄存器 堆栈段偏移地址SP堆栈指针给出栈顶偏移地址SI源变址寄存器变址寄存器 数据段偏移地址DI目的变址寄存器标志F标志寄存器J标志寄存器总线 接口 部件BIU段 寄 存 器CS代码段不能被赋值复位后为FFFFH存储器DS数据段复位后为0000HES附加段SS堆栈段存放堆栈基地址IPIP指令指针寄存器器扌曰令扌曰针寄存器:、状态标志寄存器F标志位名功能为1对应符为0对应符CF进位标志1最高位产生进位CYNCAF辅助
2、进位标志1低四位产生进位ACNAZF零标志1结果为0, 0结果不为0ZRNZSF符号标志1结果为负,0结果为正NGPLPF奇偶标志1底八位有偶数个1,0结果有奇数个1PEPOOF溢出标志1最高位有进位,0最高位没进位OVNVDF方向标志控制标志位DNUPIF中断允许标志EIDITF跟踪标志三、寻址方式( PA物理地址=实际地址=绝对地址=cpu以实际地址访问存储器)=段基址*10H+ (逻辑地址=偏移地址=有效地址EA=程序以逻辑地址编址)寻址方式操作数物理地址(PA)指令格式举例立即寻址操作数在指令中直接给岀源操作数为地址MOV DX,100H ; (DX)100H寄存器寻址操作数在寄存器中
3、操作数需要寻址ADD AX,BX ; (AX) (AX)+(BX)直接寻址操作数的有效地址由指令直接给岀操作数需要计算MOV AX,100 ; (AX) J(100)寄存器间接寻址PA=(DS)| (SS)X 16+(BX)|(SI)|(DI)|(BP给岀的均为操作 数的逻辑地址,而且 将逻辑地址分成几 段,经计算才能得到 操作数MOV AX,BX;(AX) (DS) X16+(BX)寄存器相对寻址PA=(DS|SS)X16+(BX|BP|SI|DI)+ 偏移量MOV AL,OFFSETSI;(AL) (DS) X16+(SI)+OFFSET)基址变址寻址PA=(DS|SS)X16+(BP|B
4、X)+(SI|DI)MOV AX,BX+DI;(AX) (DS) X16+(BX)+(DI)相对基址变址寻址PA=(DS|SS)X16+(BX|BP)+(SI|DI)+ 偏移量MOV AX, OFFSET (BX+DI);(AX) (DS) X16+(BX)+(DI)+ OFFSET)符号含义i8一个8位立即数立即数i16一个16位立即数imm一个8位或16位立即数r8一个8位通用寄存器AH AL BH BL CH CL DH DLr16一个16位通用寄存器或专用寄存器AX BX CX DX BP SP SI DIreg一个8位或16位通用寄存器或专用寄存器seg一个16位段寄存器DS CS
5、ES SSm8一个8位的存储器操作数m16一个16位的存储器操作数mem一个8位或16位存储器操作数m32一个32位的存储器操作数dest目标操作数src源操作数portI/O 端口B二进制D十进制Q八进制H十六进制四、符号约定及含义五、CMP指令的结果判断方法大小关系A-B相关标志位判断依据无 符 号ZFCFA>B00ZF=1A=BCF=1A<BCF 或 ZF=0A>BA=B10CF=0A>=BA<B01CF 或 ZF=1A<=BAB大小关 系相关标志位判断条件大小关系有符号SFZFOF>0>0A>B000ZF=1A=B>0>
6、0A<B100SF异或0F=1A<B>0<0A>B000(SF 异或 OF )或 ZF=0A>B101<0>0A<B10000I 1<0<0A<B100SF异或OF=0A>=B<0<0A>B000(SF 异或 OF )或 ZF=1A<=BABA=B010'、指 令表(指令分六大类)1、数据传送类(只有标志传送指令对F寄存器影响)类型汇编指令格式功能操作数说明时钟周期数字节数说明通MOV dest, src(dest) j (src)reg, seg22Cs不能做目标操作数,不能用数据传
7、送指令reg, mem8+EA24被赋值。数reg, imm423段寄存器之间不能传输数据reg, reg22据。传mem, reg9+EA24目标操作数和源操作数不能送mem, seg9+EA24同时为内存操作数(存储器指mem, imm10+EA36操作数)。令seg, reg22寄存器中的数为操作数地址seg, mem8+EA24时为内存操作数,如【XX】。PUSH src(SP) j (SP)-2r16111栈底为高地址入栈(SP)+1, (SP) j (src)seg101高字节先入栈m1616+EA24每次两个字节参与(16位)POP dst(dst) j (SP)+1, (SP)
8、r1681基地址在ss中出栈(SP) j (SP)+2seg81偏移地址在sp中m1617+EA24调用或中断时保存返回地址XCHG dest, src(des) <-> (src)reg, mem17+EA24两者互换,但不能同时为存数据交换指令reg, reg42储器操作数,存储内容互换mem, reg31要借助通用寄存器XLATAL jDS中逻辑地址为111操作数均隐含换码指令(BX+AL)的内存单元输入IN AL/AX, port(acc) j (port)AX字节,102直接寻址,port地址范围输出指OUT port, AL/AX(port) j (acc)AL 字,D
9、X1020-255 (0ffh)令IN AL/AX,DX(acc) j (DX)不是操作数81间接寻址,端口地址在DXOUT port,DX(DX) j (acc)而是地址81中,范围 0-65535 ( 0ffffh )地址传LEA reg, src 取r16 j mem 的 EAr16, mem2+EA24L为取的意思送指令有效地址指令操作数均为16位(对逻LDS reg, src 地r16 j m32的底16位r16, m3216+EA24辑地址址指针装入DS(DS) jm32 的高 16 位操作)LES reg, src 地址r16 j m32的底16位r16, m3216+EA24指
10、针装入ES(ES) j m32 的高 16 位标志传LAHF取标志(AH) j (F低8位字隐含操作数41F送指令节)157SF(唯一SAHF置标志(F低8位字节)J隐含操作数41146ZF对F寄(AH)135存器操PUSHF标志入栈(SP) J (SP)-2 (先入隐含操作101124AF作)指令栈)数,标志寄11OF3(SP)+1, (SP) J F存器入栈10DF2PFPOPF标志弹出FJ (SP)+1, (SP)隐含操作819IF1指令(SP) J (SP)+2 (出栈)数,数据岀8TF0CF栈到标志寄存器2、算术运算指令(都对F寄存器产生影响)类型汇编指令格式功能操作数说明时钟周期数
11、字节数说明辅助运CBWAX AL字节扩展到不影响标志位算指字AL<80H时 AH=00H,AL>=80H时 AH=FFH令CWDDXAX AX字扩展到双AXV8000H时 DX=0000H, AX>=8000H时 DX=FFFFH字对于符号数:最高位为 0表示正,为1表示负BDAA(AL) (AX) / (src)41C压缩BCD数的商D加法调整(AH) (AX) / (src)数的余数(AX) (DX, AX) /算(src)的商术(DX) (DX, AX) /运(src)的余数算DAS(AL) (AX) / (src)41结压缩BCD数的商果减法调整(AH) (AX) /
12、 (src)的余数调(AX) (DX, AX) /整(src)的商指(DX) (DX, AX) /令(src)的余数AAA加法(AL) AL中的和调整41ASCII码调整为组合BCDAAS减法(AL) AL中的差调整41ASCII码调整为组合BCDAAM(AL) AL中的和调整为832乘法非组合BCDASCII码调整(AH) (AH)+ 调整产生的进位值AAD(AL) AL中的差调整为602除法非组合BCDASCII码调整(AH) (AH)-调整产生的进位值除DIVsrcSrc 字节 AL AX src商,8 位 reg80 902不影响标志位除非溢出(算术AH AX src 余数,Src8
13、位 mem(8696)+EA24不能是压缩的BCD数运算指字 AX DX AX -src商,16 位 reg1441622令)DX DX AX - src余数16 位 mem(150168)+EA24IDIVsrcSrc 字节 AL AX src商,8 位 reg101 1122AH AX src 余数,Src8 位 mem(107118)+EA24字 AX DX AX -src商,16 位 reg1651842DX DX AX - src余数16 位 mem(171190)+EA24加ADD dst, src(dst) j (src) + (dst)mem, reg16+EA24操作数类型:
14、(算术reg, mem9+EA24无符号二进制数,运算指reg, reg32带符号位二进制数,令)reg, imm434无符号压缩BCD数,mem, imm17+EA36无符号非压缩BCD数。acc, imm423dest与src不能同时为内存ADC dst, src(dst) j (src) + (dst) +mem, reg16+EA24操作数。带进位加法CF (最高位进位标志reg, mem9+EA24符,有进位为1,否则reg, reg32为0)reg, imm434mem, imm17+EA36acc, imm423INC dest(dest) j (dest)+1reg2312me
15、m15+EA24减SUB dest, src(dst) j (src) - (dst)mem, reg16+EA24操作数类型:(算术reg, mem9+EA24无符号二进制数,运算指reg, reg32带符号位二进制数,令)reg, imm434无符号压缩BCD数,mem, imm17+EA36无符号非压缩BCD数。SBBdest , src(dst) j (src) - (dst)-mem, reg16+EA24dest与src不能同时为内存带进位减法CFreg, mem9+EA24操作数。reg, reg32reg, imm434mem, imm17+EA36DEG dest(dest)
16、 j (dest) - 1reg2312mem15+EA24NEG dest(dest) j 0 - (dest)reg32就是求相反数。求补指令mem16+EA24按位取反,末位加1.CMP dest, src(dest) - (src)mem, reg9+EA24目的操作数减去源操作数。比较指令reg, mem9+EA24比较结果见附表reg, reg32reg, imm434mem, imm10+EA36乘MUL srcSrc为字节:(AX) j8 位 reg70 772不能是压缩的BCD数(算术(AL) * (src)8 位 mem(7683)+EA24不能是立即数运算指Src 为字:
17、(DX, AX) j16 位 reg118 1332仅影响标志位OFCF令)(AX) * (src)16 位 mem(124139)+EA24IMUL srcSrc为字节:(AX) j8 位 reg80 982(AL) * (src)8 位 mem(86 104)+EA24Src 为字:(DX, AX) j16 位 reg128 1542(AX) * (src)16 位 mem(134160)+EA243、位操作指令逻AND dst, src(dst) j (dst) A (src)mem, reg16+EA24辑reg, mem9+EA24运reg, reg32算reg, imm434指me
18、m, imm17+EA36令acc, imm423OR dst, src(dst) j (dst) V (src)mem, reg16+EA24reg, mem9+EA24reg, reg32reg, imm434mem, imm17+EA36acc, imm423NOT op1(op1) j (op1)reg32mem16+EA24XOR dst, src(dst) j (dst) ® (src)mem, reg16+EA24reg, mem9+EA24reg, reg32reg, imm434mem, imm17+EA36acc, imm423TEST dst, src(dst)
19、 A (src)reg, mem9+EA24reg, reg32影响标志位,不保留运算结reg, imm534果mem, imm11+EA36acc, imm423移位SHL dst, 1逻辑左移reg22指令mem15+EA24SHL dst, CLreg8 + 4/bit2可以使数变为原来的 2的mem20+EA+4/bit24CL次方倍SAL dst, 1算术左移reg22mem15+EA24SAL dst, CLreg8 + 4/bit2mem20+EA+4/bit24SHR dst, 1逻辑右移reg22mem15+EA24可以使数变为原来的 2的SHR dst, CLreg8 +
20、4/bit2CL次方分之一mem20+EA+4/bit24SAR dst, 1算术右移reg22mem15+EA24SAR dst, CLreg8 + 4/bit2mem20+EA+4/bit24循 环移 位指 令ROL opl, 1ROL op1, CL不带进位循环左移reg mem reg mem215+EA8 + 4/bit20+EA+4/bit224224ROR op1, 1ROR op1, CL不带进位循环右移reg mem reg mem215+EA8 + 4/bit20+EA+4/bit224224RCL op1, 1RCL op1, CL带进位位的循环左移reg mem reg
21、 mem215+EA8 + 4/bit20+EA+4/bit224224RCR op1, 1RCR op1, CL带进位位的循环右移reg mem reg mem215+EA8 + 4/bit20+EA+4/bit2242244、串操作指令串MOVSdest,src字节原串存入数据段DS中传送MOVSB(ES:DI)(DS:SI)不重复:181目标串存入附加段 ES中(SI)(SI) ± 1,重复(DI) (DI) ± 19+17/rep指令STD使DF为1MOVSW字指令CLD使DF为0(ES:DI) (DS:SI)不重复:181(SI) (SI) ± 2,重复
22、(DI) (DI) ± 29+17/rep串送存STOS dest字节不重复:11STOSB(ES:DI) (AL)重复1(DI) (DI) ± 19+10/repSTOSW字不重复:111(ES:DI) (AX)重复(DI) (DI) ± 29+10/rep串LODS src字节不重复:12装入LODSB(AL) (DS:SI)重复1(SI) (SI) ± 19+13/repLODSW字不重复:121(AX) (DS:SI)重复(SI) (SI) ± 29+13/repCMPS src, dest字节串比较CMPSB(DS:SI) - (ES
23、:DI)不重复:221(SI) (SI) ± 1,重复(DI) (DI) ± 19+22/repCMPSW字(DS:SI) - (ES:DI)不重复:221(SI) (SI) ± 2,重复(DI) (DI) ± 29+22/repSCAS dest字节不重复:151串扫描SCASB(AL) - (ES:DI)重复(DI) (DI) ± 19+15/repSCASW字不重复:151(AX) (ES:DI)重复(DI) (DI) ± 29+15/repREP(CX)=0退出重复,否则21无条件重复前缀(CX) (CX)-1 并执行其后的串
24、指令REPE/REPZ(CX)=0或(ZF)=0退出重21相等重复前复,否则(CX) (CX)-1缀并执行其后的串指令REPNE/REPNZ(CX)=0或(ZF)=1退出重21不相等重复前复,否则(CX) (CX)-1缀并执行其后的串指令5、控制转移指令(分四类)JMP SHORT无条件转移152op1153JMP NEAR PTR155无op1reg1121条JMP FAR PTRmem18+EA24转件op124+EA24移跳JMP WORD PTR指转op1令JMPDWORD PTR op1条JZ/JE op1ZF=1则转移16/42件JNZ/JNE op1ZF=0则转移16/42跳JS
25、 op1SF=1则转移16/42转JNS op1SF=0则转移16/42JP/JPE op1PF=1则转移16/42JNP/JPO op1PF=0则转移16/42JC op1CF=1则转移16/42JNC op1CF=0则转移16/42JO op1OF=1则转移16/42JNO op1OF=0则转移16/42JB/JNAE op1CF =1且ZF=0则转移16/42JNB/JAE op1CF =0或ZF=1则转移16/42JBE/JNA op1CF =1或ZF=1则转移16/42JNBE/JA op1CF =0且ZF=0则转移16/42JL/JNGE op1SF® OF = 1 则转
26、移16/42JNL/JGE op1SF® OF = 0 则转移16/42JLE/JNG op1SF® OF = 1 或 ZF=1 贝U转移16/42JNLE/JG op1SF® OF = 0 且 ZF=0 贝U转移16/42JCXZ op1(CX) = 0则转移18/622循环 LOOP op1(CX)丸则循环17/52用CX作循环次数寄存器循相等循环(CX)工0且 ZF=1则循18/62op1为循环位置处的标号环LOOPZ/LOOPEop1环控不相等循环(CX)工0且 ZF=0则循19/52制LOOPNZ/LOOPNEopI环3过 程 调 用CALL dst段内
27、直接:(SP) (SP)-2 , (SP)+1, (SP)- (IP)(IP) (IP) +D16段内间接:(SP)(SP)-2, (SP)+1(SP) (IP) , (IP) EA段间直接:(SP) (SP)-2 , (SP)+1,(SP) (CS)(SP) (SP)-2, (SP)+1(SP) (IP)(IP)目的偏移地址 (CS)目的段基址段间间接:(SP) (SP)-2 , (SP)+1,(SP) (CS)(SP) (SP) -2(SP)+1, (SP) (IP)(IP) (EA)(CS) (EA+2)reg mem191621+EA2837+EA3224524和 返 回 指 令RET
28、段内:(IP) (SP)+1, (SP)(SP) (SP)+2段间:(IP) (SP)+1, (SP)(SP) (SP) +2(CS) (SP)+1,(SP) (SP)+2162411RET exp段内:(IP) (SP)+1,(SP) (SP) (SP)+2(SP) (SP)+D16段间:(IP) (SP)+1,(SP) (SP) (SP)+2(CS) (SP)+1,(SP)(SP) (SP)+2(SP) (SP)+D162023334中 断 指 令中INTNINT中断调用(SP) (SP)-2 (SP)+1, (SP) (FR)(SP) (SP)-2 (SP)+1, (SP) (CS)(S
29、P) (SP)-2 (SP)+1, (SP) (IP)(IP) (type * 4)(CS) (type * 4+2)N工3(N=3)515221INTO 溢出中断若OF = 1,_则(SP) (SP)-2(SP)+1, (SP) (FR)(SP) (SP)-2(SP)+1, (SP) (CS)(SP) (SP)-2(SP)+1, (SP) (IP) (IP) (10H)(CS) (12H)53(OF=1)4(OF=0)1IRET中断返回(IP) (SP)+1, (SP)(SP) (SP)+2(CS) (SP)+1, (SP)(SP) (SP)+2(FR) (SP)+1, (SP)(SP) (
30、SP)+22416、处理器控制指令CLCCF清021CMCCF取反21STCCF置121CLDDF清021STDDF置121CLIIF清021STIIF置121HLT停机21WAIT等待£1ESC mem换码8+EA24LOCK总线封锁前缀21、8086宏汇编常用伪指令表数据定义DBvariable_name DB operandist定义字节变量DDvariable_name DD operandist定义双字变量DQvariable_name DQ operandist定义四字变量DTvariable_name DT operandist定义十字变量DWvariable_name
31、 DW operandist定义字变量DUPDB/DD/DQ/DT/DW repeat_count DUP(operand_list)变量定义中的重复从句符号定义EQUexpression_name EQU expression定义符号=label = expression赋值LABELname LABLE type (type is: byte,word,dword or near, far)定义name的属性段定义SEGMEMTseg_name SEGMENT align_type combine_type class '定义段开始ASSUMEASSUME segreg:seg_n
32、ame, 说明段所对应的段寄存器ENDSseg_name ENDS定义段结束PUBLICPUBLIC symbol_list说明本模块中定义的外部符号过程定义PROCprocedure_name PROC type (type is: near or far)定义过程开始ENDPprocedure_name ENDP定义过程结束模块定 义与结 束NAMENAME module_name定义模块名ENDEND lable源程序结束其他EVEN使下一个分配的地址为偶地址对准伪指令ORGORG expression地址计数器置 expression值RADIX指定汇编程序使用的默认数制基数控制伪指令
33、GROUPname GROUP seg_name_list指定段在64K的物理段内INCLUDEINCLUDE filespec包含其它源文件EXTRNEXTRN name:type, (type is: byte,word,dword or near, far)说明本模块中使用的外部符号PURGEPURGE expression_name_list取消指定的符号(EQU定义)RECORDrecord_nameRECORDfield name:length=preassignment,定义记录COMMENTCOMMENT delimiter text后跟注释(代替;)STRUCstructure name STRUCstructure name E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职环境规划与管理(规划管理基础)试题及答案
- 中职第一学年(会计电算化)会计凭证处理2026年阶段测试题及答案
- 2025年高职(大数据分析)数据预处理应用阶段测试题及答案
- 2025年大学测绘工程(海洋测绘)试题及答案
- 2026年西藏单招职业技能案例分析专项含答案健康养老智慧服务
- 2026年海南中职生单招技术技能测试通关经典题含答案原专业对口适配
- 2026年重庆中职生单招专业技能对口冲刺卷含答案原专业11适配
- 2026年西藏单招递补录取专项冲刺卷含答案补录考生专用
- 安徽英语对口试卷及答案
- 2026年贵州单招职业本科衔接专项经典题含答案文化技能拔高版
- 长安福特5S管理
- 军品价格管理办法原文
- 2025北京高三二模英语汇编:阅读理解C篇
- 2025-2030中国考试系统行业市场发展现状分析及发展趋势与投资前景研究报告
- 2024年第一次广东省普通高中数学学业水平合格性考试真题卷含答案
- 2025年中医健康管理服务合同模板
- 《红军重走长征路》课件
- 机械加工工艺过程卡片
- 2企业安全生产标准化建设咨询服务方案
- 腰椎骨折课件教学课件
- 外国文学1智慧树知到期末考试答案章节答案2024年绍兴文理学院
评论
0/150
提交评论