ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:39.86KB ,
资源ID:7499533      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7499533.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编语言各种指令解释及用法.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汇编语言各种指令解释及用法.docx

1、汇编语言各种指令解释及用法【数据传输指令】一、通用数据传送指令1、传送指令 MOV (move)指令的汇编格式:MOV DST,SRC指令的基本功能:(DST)-(SRC) 将原操作数(字节或字)传送到目的地址。指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于所有指令。指令的执行对标志位的影响:不影响标志位。指令的特殊要求:目的操作数DST和源操作数SRC不允许同时为段寄存器;目的操作数DST不能是CS,也不能用立即数方式。2、进栈指令 PUSH (push onto the stack) 出栈指令 POP (pop from the stack)指令的汇编格式

2、:PUSH SRC ;POP DST指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而POP指令又可将这些数据恢复。PUSH SRC (SP)-(SP)-2 ;(SP)-(SRC)POP DST (DST)-(SP);(SP)-(SP)指令支持的寻址方式:push 和 pop指令不能不能使用立即数寻址方式。指令对标志位的影响:PUSH 和 POP指令都不影响标志位。指令的特殊要求:PUSH 和 POP指令只能是字操作,因此,存取字数据后,SP的修改必须是+2 或者 -2; POP指令的DST不允许是CS寄存器;3、交换指令 XCHG (exchange)指令的汇编格式:XCHG OPR

3、1,OPR2指令的基本功能:(OPR1)(OPR2)指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。指令对标志位的影戏:不影响标志位。指令的特殊要求:不允许使用段寄存器。二、累加器专用传送指令4、输入指令 IN (input)输出指令 OUT (output)指令的汇编格式:IN ac,port port0FFHOUT port,ac port0FFH指令的基本功能:对8086及其后继机型的微处理机,所有I/O端口与CPU之间的通信都由输入输出指令IN和OUT来完成。IN指令将信息从I/O输入到CPU,OUT指令将信息从CPU输出到I/O端口,因此,IN和OU

4、T指令都要指出I/O端口地址。IN ac,port port=0FFH (AL)-(port)传送字节 或 (AX)0FFH (AL)-(DX)传送字节或 (AX)-(DX)+1,(DX)传送字OUT port,ac port=0FFH (port)-(AL)传送字节 或 (port+1,port)0FFH (DX)-(AL)传送字节 或 (DX)+1,(DX)-(AX)传送字指令对标志位的影响:不影响标志位。指令的特殊要求:只限于在AL或AX与I/O端口之间传送信息。传送16位信息用AX,传送8位信息用AL,这取决于外设端口的宽度。5、换码指令 XLAT (translate)指令的汇编格式

5、:XLAT opr 或 XLAT指令的基本功能:这条指令根据AL寄存器提供的位移量,将BX指使的字节表格中的代码换存在AL中。 (AL)-(DS)*16+(BX)+(AL)指令对标志位的影响:不影响标志位。指令的特殊要求:所建字节表格的长度不能超过256字节,因为存放位移量的是8位寄存器AL。opr为表格的首地址,因为opr所表示的偏移地址已存入BX寄存器,所以opr在换码指令中可有可无,有则提高程序的可读性。三、地址传送指令6、有效地址传送器 LEA (load effective address)指令的汇编格式:LEA reg,src指令的基本功能:LEA指令把源操作数的有效地址送到指定的

6、寄存器,这个有效地址是由src选定的一种存储器寻址方式确定的。指令支持的寻址方式:各种存储器寻址方式。指令对标志位的影响:不影响标志位。指令的特出要求:指令中reg不能是段寄存器;7、指针送寄存器和DS LDS (load DS with point)指针送寄存器和ES LES (load ES with point)指令的汇编格式:LDS reg,src LES reg,src指令的基本功能:LDS和LES指令把确定内存单元位置的偏移地址送寄存器,段地址DS或ES。这个偏移地址和段地址(也称地址指针)是由src指定的两个相继字单元提供的。LDS reg,src (reg)-(src) (DS

7、)-(src+2)LES reg,src (reg)-(src) (ES)-(src+2)指令支持的寻址方式:src必须为存储器寻址方式指令对标志位的影响:不影响标志位。指令的特殊要求:指令中REG不能是段寄存器;四、标志寄存器传送指令8、标志寄存器的低字节送AH LAHF (load AH with FLAGS)指令的汇编格式:LAHF指令的基本功能:(AH)-(FLAGS)0-7指令对标志位的影响:不影响标志位9、AH送标志寄存器低字节 SAHF(store AH into FLAGS)指令的格式:SAHF指令的基本功能:(FLAGS)0-7-(AH)指令对标志位的影响:由装入值来确定标志

8、位的值。10、标志进栈 PUSHF (push the flags)指令的汇编格式:PUSHF指令的基本功能:(SP)-(SP)-2 (SP)+1,(SP)-(FLAGS)0-15指令对标志位的影响:不影响标志位。11、标志出栈 POPF (pop the FLAGES)指令的汇编格式:POPF指令的基本功能:(FLAGS)0-15-(SP)+1,(SP) (SP)-(SP)+2指令对标志位的影响:由装入值来确定标志位的值。【算术指令】一、加法指令12、加法指令 ADD (addition)指令的汇编格式:add dst,src指令的基本功能:(dst)-(src)+(dst)指令支持的寻址方

9、式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。指令对标志位的影响:SF=1 加法结果为负数(符号位为1)SF=0 加法结果为正数(符号位为0)ZF=1 加法结果为零ZF=0 加法结果不为零CF=1 最高有效位向高位有进位CF=0 最高有效位向高位无进位OF=1 两个同符号数相加(正数+正数或负数+负数),结果符号与其相反。OF=0 两个不同符号数相加,或同符号数相加,结果符号与其相同。13、带进为加法指令 ADC (add with carry)指令的汇编格式:ADD dst,src指令的基本功能:(dst)-(src)+

10、(dst)+CF指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。指令对标志位的影响:SF=1 加法结果为负数SF=0 加法结果为正数ZF=1 加法结果为零ZF=0 加法结果不为零CF=1 最高有效位向高位有进位CF=0 最低有效位相高位无进位OF=1 两个同符号数相加,结果符号与其相反,OF=0 两个同符号数相加,或同符号相加,结果符号与其相同14、加1指令 INC (increament)指令的汇编格式:INC opr指令的基本功能:(opr)-(opr)指令支持的寻址方式 可以使用除立即数方式外的任何寻址

11、方式指令对标志位的影响:SF=1 加法结果为负数SF=0 加法结果为正数ZF=1 加法结果为零ZF=0 加法结果不为零OF=1 两个同符号数相加,结果符号与其相反,OF=0 两个同符号数相加,或同符号相加,结果符号与其相同。二、减法指令15、减法指令 SUB (subtract)指令的汇编格式:SUB dst,src指令的基本功能:(dst)-(dst)-(src)指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。指令对标志位的影响:SF=1 减法结果为负数(符号位为1)SF=0 减法结果为正数(符号位为0)Z

12、F=1 减法结果为零ZF=0 减法结果不为零CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)CF=0 二进制减法运算中最高有效为向高位无借位(被减数=减数,够减的情况)OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。16、带借位减法指令 SBB (subtract with borrow)指令的汇编格式:SBB dst,src指令的基本功能:(dst)-(dst)-(src)-CF指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操

13、作数和目地操作数必须有一个寄存器寻址方式。指令对标志位的影响:SF=1 减法结果为负数(符号位为1)SF=0 减法结果为正数(符号位为0)ZF=1 减法结果为零ZF=0 减法结果不为零CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)CF=0 二进制减法运算中最高有效为向高位无借位(被减数=减数,够减的情况)OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。17、减1指令 DEC (decrement)指令的汇编格式:DEC opr指令的基本功能:(opr)-(opr)-1指

14、令支持的寻址方式:可以使用除立即数方式外的任何寻址方式。指令对标志位的影响:SF=1 减法结果为负数(符号位为1)SF=0 减法结果为正数(符号位为0)ZF=1 减法结果为零ZF=0 减法结果不为零OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。18、比较指令 CMP (compare)指令的汇编格式:CMP opr1,opr2指令的基本功能:(opr1)-(opr2),根据相减结果设置条件码,但不回送结果。指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数

15、和目地操作数必须有一个寄存器寻址方式。指令对标志位的影响:SF=1 减法结果为负数(符号位为1)SF=0 减法结果为正数(符号位为0)ZF=1 减法结果为零ZF=0 减法结果不为零CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)CF=0 二进制减法运算中最高有效为向高位无借位(被减数=减数,够减的情况)OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。19、求补指令 NEG (negate)指令的汇编格式:NEG opr指令的基本功能:(opr)- -(opr)指令支持的寻

16、址方式:可以使用除立即数方式外的任何寻址方式。指令对标志位的影响:CF=1 不为0的操作数求补时 CF=0 为0的操作数求补时OF=1 操作数为-128(字节运算)或操作数为-32768(字运算)OF=0 当求补运算的操作数不为128(字节)或32768(字)时三、乘法指令20、无符号乘法指令 NUL (unsigned multiple)有符号乘法指令 IMUL(signed muliple)指令的汇编格式:NUL src IMUL src指令的基本功能:(AX)-(AL)*(src) (DX,AX)-(AX)*(src)指令支持的寻址方式:src可以使用除立即数方式以外的任一种寻址方式。指

17、令对标志位的影响:乘法指令只影响标志位CF和OF,其他条件码位无定义。MUL指令的条件码设置为:CF OF=0 0 乘积的高一半为0(字节操作的(AH)或字操作的(DX)CF OF=1 1 乘积的高一半不为0IMUL指令的条件码设置为:CF OF=0 0 乘积的高一半为低一半的符号扩展.CF OF=1 1 其他情况指令的特殊要求:MUL和IMUL指令的区别仅在于操作数是无符号还是带符号数,它们的共同点是,指令中只给出源操作数src,目的操作数是隐含的,它只能是累加器(字运算为AX,字节运算为AL)。隐含的乘积寄存器是AX或DX(高位)和AX(低位)。四、符号扩展指令21、节扩展为字 CBW (

18、convert byte to word)指令的汇编格式:CBW指令的基本功能:(AH)=00H 当(AL)的最高有效位为0时(AH)=FFH 当(AL)的最高有效位为1时指令对标志位的影响:不影响标志位指令的特殊要求:这是条无操作数的指令,进行符号扩展的操作数必须存放在AL寄存器 AX寄存器中。22、字扩展为双字 CWD (convert word to double word)指令的汇编格式:CWD指令的基本功能:(DX)=0000H 当(AX)的最高有效位为0时(DX)=FFFFH 当(AX)的最高有效位为1时指令对标志位的影响:不影响标志位指令的特殊要求:这是条无操作数的指令,进行符号

19、扩展的操作数必须存放在AL寄存器或AX寄存器中。五、除法指令23、无符号数除法 DIV (unsigned divide)带符号数除法 IDIV (singed divide)指令的汇编格式:DIV src IDIV src指令的基本功能:字操作(AL)-(AX)/src的商 (AH)-(AX)/src的余数字节操作(AX)-(DX,AX)/src的商 (DX)-(DX,AX)/src的余数指令支持的寻址方式:src作为除数,可用除立即数以外的任一种寻址方式来取得。指令对标志位的影响:不影响条件码。指令的特殊要求:除法指令要求字操作时,被除数必须为32位,除数是16位,商和余数是16位的;字节

20、操作时,被除数必须为16位,除数是8位,得到的商和余数是8位的。六、十进制调整指令【逻辑指令】一、逻辑运算指令的格式:AND dst,src指令的基本功能:(dst)-(dst)与(src)指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。指令对标志位的影响:指令执行后 CF 和 OF 置零,AF无定义。SF=1 指令执行后的结果为负数(符号位为1)SF=0 指令执行后的结果为正数(符号位为0)ZF=1 指令执行后的结果为零ZF=0 指令执行后的结果不为零PF=1 结果操作数中1的个数为偶数时置1PF=0 结果操作

21、数中1的个数为奇数时置025、逻辑或 OR (logic or)指令的汇编格式:OR dst,src指令的基本功能:(dst)-(dst)或(src)指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,原操作数和目的操作数必须有一个寄存器寻址方式。指令对标志位的影响:令执行后 CF 和 OF 置零,AF无定义。SF=1 指令执行后的结果为负数(符号位为1)SF=0 指令执行后的结果为正数(符号位为0)ZF=1 指令执行后的结果为零ZF=0 指令执行后的结果不为零PF=1 结果操作数中1的个数为偶数时置1PF=0 结果操作数中1的个数为奇数时置026、逻辑非 NO

22、T (logic not)指令的汇编格式:NOT orc指令的基本功能:(dst)-(opr)指令支持的寻址方式:除立即数寻址方式以外的其余寻址方式指令对标志位的影响:对标志位无影响27、异或 XOR (exclusice or)指令的汇编格式:XOR dst,src指令的基本功能:(dst)1时,cnt必须放入CL寄存器中。指令对标志位的影响:CF=移入的数值OF=1 当cnt=1时,移动后最高位的值发生变化。OF=0 当cnt=1时,移动时最高位的值未发生变化。SF、ZF、PF根据移动后的结果设置。35、带进位的循环左移 RCL (rotate left through carry)指令的

23、汇编格式:RCL dst,cnt指令的基本功能:RCL 对由dst指定的寄存器或存储器操作数,连同进位标志CF左循环移动,m所指定的次数,每左移一次,把操作数的最高位移入CF,而CF中原有内容移入操作数的最低位。指定支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写在指令中,cnt1时,cnt必须放入CL寄存器中。指令对标志位的影响:CF=移入的数值。OF=1 当cnt=1时,移动后最高位的值未发生变化。OF=0 当cnt=1时,移动后最高位的值发生变化。SF、ZF、PF标志位不受影响。36、带进位的循环右移 RCR (rotate right through carry)指令的汇编格式:RCR dst,cnt指令的基本功能:RCR 对由dst指定的寄存器或存储器操作数,连同进位标志CF右循环移动,m所指定的次数,每右移一次,把操作数的最高低位移入CF,而CF中原有内容移入操作数的最高位。指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写入指令中,cnt1时,cnt必须放入CL寄存器中。指令对标志位的影响:CF=移入的数值。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1