《X86指令系统》PPT课件

《X86指令系统》PPT课件

ID:38604604

大小:326.32 KB

页数:43页

时间:2019-06-16

《X86指令系统》PPT课件_第1页
《X86指令系统》PPT课件_第2页
《X86指令系统》PPT课件_第3页
《X86指令系统》PPT课件_第4页
《X86指令系统》PPT课件_第5页
资源描述:

《《X86指令系统》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、8086指令系统§1数据类型§2指令格式§3寻址方式§4指令系统(指令简表)§1数据类型变量定义不区分是否是有符号数是否是有符号数由程序自己控制位数无符号数有符号数字节80~255-128~127字160~65535-32768~32767双字320~232-1-231~231-1字符按字节算,长度<64K§2指令格式名称指令参数1,参数2;注释名称若是变量名(变量定义),后无冒号名称若是标号(转移入口),后有冒号,例:VarDW1234HLabel0:MOVAX,Var参数(操作数)之间用逗号隔开§3寻址方式寄存器寻址:MOVAX,BX立即数:MOVAL,3内存寻址:最多由3部分组成:基址(

2、BX或BP)、变址(SI或DI)及偏移量组成直接寻址(只有偏移):MOVAL,[1234](Debug),在汇编中用变量名代替寄存器间接(有基址或变址之一):MOVAL,[BX]基址加变址:MOVAL,[BX+DI]相对(基址或变址+偏移):MOVAL,[SI+2]基址加变址相对(3部分都有):MOVAL,[SI+BP+4]段寄存器的使用默认段寄存器以BP为间接寻址的为SS其它的为使用DS若需要改变段寄存器,在内存前增加前缀即可,如:MOVAL,CS:[SI]386+还可以使用新增的两个寄存器FS与GS在DEBUG中,段前缀为单独的一条指令§4指令系统数据传送IO算术运算逻辑运算移位串操作程序

3、转移其它数据传送MOVX1,X2PUSHXPOPXXCHGX1,X2XLATLEAR,MLDSR,MLESR,MLAHFSAHFPUSHFPOPFIOINAL,PINAX,POUTP,ALOUTP,AX算术运算ADDX1,X2ADCX1,X2SUBX1,X2SBBX1,X2AAADAAINCXDECXCMPX1,X2MULXIMULXDIVXIDIVXCBWCWD逻辑运算NOTXANDX1,X2ORX1,X2XORX1,X2TESTX1,X2NEGX移位SALX,NSHLX,NSARX,NSHRX,NROLX,NRORX,NRCLX,NRCRX,N串操作MOVSLODSSTOSCMPSSCAS

4、REP/REPE/REPNZ程序转移CALL目标RETIRETJMP目标LOOP目标LOOPZ/LOOPELOOPNZ/LOOPNEINTnINTO条件转移(只能近转移)JCXZ目标JZ/JEJNZ/JNEJA/JNBEJBE/JNAJB/JNAEJNB/JAEJG/JNELJNG/JELJL/JNEGJNL/JEG其它CLCCMCSTCCLDSTDCLISTINOPHLTESCMOV不能用任何指令直接修改CS源与目标应要相同的数据长度,若两者都为不确定内容(立即数或内存),用用PTR指定类型,例:MOVBYTEPTR[SI],1不能直接传送:立即数到段寄存器、内存到内存PUSH/POP入栈出

5、栈应配对使用,后进先出的原则8086一次只能用16位寄存器或内存SS:SP为堆栈指针,压入一个,SP减2286开始可以PUSH立即数386开始可以操作32位寄存器与内存XLATXLAT为查表指令相当于MOVAL,[BX+AL](但没此指令)例:查表求平方:TABLEDB0,1,4,9,16,25,36,49,64,81MOVBX,OFFSETTABLE;起始地址MOVAL,7;查7的平方XLAT;结果49已经在AL中LEA格式:LEAR16,M功能:取内存地址与MOV不同,MOV取值,LEA取地址LEAAX,OFFSETV与LEAAX,V的结果相同,但是两种不同的办法可以用LEAAX,[SI+

6、3],但MOVAX,SI+3是错的LDS/LES格式:LDS寄存器,内存功能:内存的低16位送寄存器,高16为送DS寄存器只能是16位的LAHF/SAHF/PUSHF/POPF专门针对标志寄存器的操作LAHF:把标志的低8位(有SZAPC标志位)保存到AH中SAHF:把AH中的值恢复到标志的低8位中PUSHF:16位标志寄存器入栈POPF:16位标志寄存器出栈IN/OUTI/O指令的寻址空间为64K,不需要段INAL,n只能寻址地址为0-255的端口INAL,[DX]可以寻址高端口地址ADD/ADC格式:ADDX1,X2功能:相加结果放X1X1可为R/M,X2可为R/M/nADC在相加后还要加

7、上进位位,若多字相加,先最低字用ADD,高字用ADCSUB/SBB格式、功能与ADD/ADC类似SBB在相减后,还要再减去进位位有符号数与无符号数的加减使用相同的指令。无符号数加减进位为1表示溢出有符号数加减溢出位为1表示溢出INC/DEC格式:INCX/DECX功能:加一、减一X可为R或M不影响进位标志位CFCMP格式与标志位影响同SUB结果不变一般用于转移判断,紧跟条件转移指令AAA/DAA/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。