汇编常用指令

reg :表示寄存器

men: 表示内存

imm: 表示立即数

seg:  表示段

 

MOV指令:

    语法 :  MOV reg,reg/men/imm

               MOV mem,reg/imm

               MOV seg,reg16/mem16

     指令操作: 相当于将操作数1中的值,给操作数2

    例:     MOV  EAX,100   此时EAX寄存器中就会保存0x100

              {  MOV  EAX,100      

                 MOV  ECX,EAX  }    此时先将EAX赋值100,然后给ECX赋上EAX所保存的值。 此时ECX的值为100

 

 

PUSH 指令:

       语法:

            PUSH reg/mem/seg 

       指令操作:向栈中压入数据,并且改变ESP的位置

例:     PUSH  0x100    此时将0x100压入栈中

            PUSH  EAX       此时将EAX中的值压入栈中

            PUSH  AX          此时将AX中的值压入栈中

 注意:将数据压入栈中时,会改变栈的栈顶(ESP)位置。位置变化多少是根据压入数据的类型所占的空间大小

           例如:PUTH 0x100  数值所占的空间大小为4个字节,所以ESP的值就会减少4

                      PUTH EAX     因为EAX所占的空间大小为4个字节,所以ESP的值会减少4

                      PUSH AX       因为AX所占的空间大小为2个字节,所以ESP的值会减少2

 

POP  指令

        语法:

                POP reg/mem/seg

       操作: 将栈中的数据从栈中弹出,并将栈中的数据保存到操作数中,并且改变ESP的位置

        例: POP EAX  将栈中的数据进行弹出,并将数据保存到EAX中

                POP CX  将栈中的数据进行弹出,并将数据保存到CX中

        注意: 将栈中的数据从栈中弹出时,会改变栈的栈顶(ESP)位置,位置变化多少是根据弹出数据的类型所占的空间大小

         

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值