码迷,mamicode.com
首页 > 其他好文 > 详细

AT&T学习笔记汇编之控制指令

时间:2015-04-04 09:21:54      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:att汇编


跳转
jmp label

call addresss
调用函数先将eip入栈,eip指向函数的地址

esp直接使用栈中的数据
push pop引用堆栈中的数据

程序通常把esp复制到ebp在使用ebp获取call指令之前传递给栈的信息。


function_label:
    pushl %ebp
    movl %esp , %ebp
    <...normal code...>
    movl %ebp , %esp
    popl %ebp
    ret

eflags
0 carry  借位 错位
11 overflow 溢出
2 prtity 奇偶校验
7 sign    符号
6 zero  0标识

跳转指令
ja jae  jb jbe
jc jcxz jecxz 进位跳转
je jg jge jl jle jna jnae jnb jnbe
jnc jne jng jnge jnl jnle
jno
jnp
jns
jnz
jo jp jpe jpo js jz


cmp op1 , op2
op2 - op1
jge grater

0标识
movl $30 , %eax
subl $30 , %eax

溢出标志
movl $1 , %eax
movb 0x7f , %bl
addb $10 , %bl
jo overhere
int $0x80

overhere:
    movl $0 , %ebx
    int $0x80


jz overhere

loop循环指令
loop address 直到ECX为0
loope/loopz  或者没有设置ZF标志
loopne/loopnz  或者设置了ZF标志

AT&T学习笔记汇编之控制指令

标签:att汇编

原文地址:http://blog.csdn.net/u011185633/article/details/44858715

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!