汇编常用指令(持续更新)

打印 上一主题 下一主题

主题 985|帖子 985|积分 2955


  • and dest,src将目标与源做与操作
  • or dest,src将目标与源做或操作
  • add   加得数的值超出范围即会溢出
  • inc 汇编语言中的自增指令,相当于++
  • div指令

    • 不会给出被除数


    • 切记提前在默认的寄存器中设置好被除数,且默认寄存器不做别的用处

  • dup设置内存空间,与db、dw、dd等数据定义伪指令配合使用,进行数据的重复
  • nop的机器码占一个字节,器占位作用,为空
  • jmp指令——无条件转移

    • 可以只修改IP,也可以同时修改CS和IP


    • 需给出信息

      • 转移的目的地址


      • 转移的距离


      • 短转移 jmp short 标号

        • 功能:(ip)=(ip)+八位位移


        • 原理

          • 注意位移的范围,避免转移位移超界




      • 近转移 jmp near ptr 标号

        • 相比于短转移仅是将八位位移转变为16位位移


        • 指明了相对于当前IP的转移位移



      • 远转移 jmp far ptr 标号

        • 指明了跳转到的目的地址,即包含了标号的段地址cs和偏移地址IP



      • jmp 16位寄存器

        • IP =(16位寄存器)



      • 转移地址在内存中的jmp指令


  • jcxz 有条件转移指令(短转移)

    • jcxz 标号(包含转移的位移)

      • (cx)= 0,则转移到标号处执行


      • (cx)!=  0,什么都不做


  • loop循环

    • CX存放循环次数

  • call指令和ret指令

    • call 标号

      • 可以跳转到指定的位置,相当于C语言中的go语句


      • 调用子程序


      • call far ptr 标号

        • 实现段间转移


        • 操作



      • call 16位寄存器


      • call word ptr 内存单元地址


      • call dword ptr 内存单元地址

        • 高地址放段地址,低地址放偏移地址




    • ret指令

      • 与call指令相结合,在call跳转到指定位置执行语句后,加上ret即会返回到call指令的下一条语句


      • 相当于pop IP


      • 也可单独使用



    • retf:用栈中数据修改CS和IP的内容

      • 相当于pop IP  pop CS



    • mul 指令做乘法

      • 被乘数同样默认存放


      • 格式

        • mul 寄存器


        • mul 内存单元



      • 乘法指令

     

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表