逆向-beginners之条件跳转(条件表达式)

#include

const char *f(int a)
{
    return a == 10 ? "it is ten":"it is not ten";
}

void main()
{}


#if 0

/*
 * x86
 */
    早期无优化功能的编译器,在碰到编译含有运算符的语句时会以"if/else"语句的方法进行处理。

#endif

#if 0
/*
 * intel
 */
0000000000001129 :
    1129:    f3 0f 1e fa              endbr64 
    112d:    55                       push   %rbp
    112e:    48 89 e5                 mov    %rsp,%rbp
    1131:    89 7d fc                 mov    %edi,-0x4(%rbp)
    1134:    83 7d fc 0a              cmpl   $0xa,-0x4(%rbp)
    1138:    75 09                    jne    1143
    113a:    48 8d 05 c3 0e 00 00     lea    0xec3(%rip),%rax        # 2004 <_IO_stdin_used+0x4>
    1141:    eb 07                    jmp    114a
    1143:    48 8d 05 c4 0e 00 00     lea    0xec4(%rip),%rax        # 200e <_IO_stdin_used+0xe>
    114a:    5d                       pop    %rbp
    114b:    c3                       retq   

000000000000114c

:
    114c:    f3 0f 1e fa              endbr64 
    1150:    55                       push   %rbp
    1151:    48 89 e5                 mov    %rsp,%rbp
    1154:    90                       nop
    1155:    5d                       pop    %rbp
    1156:    c3                       retq   
    1157:    66 0f 1f 84 00 00 00     nopw   0x0(%rax,%rax,1)
    115e:    00 00 

/*
 * arm
 */
000000000040051c :
  40051c:    d10043ff     sub    sp, sp, #0x10
  400520:    b9000fe0     str    w0, [sp, #12]
  400524:    b9400fe0     ldr    w0, [sp, #12]
  400528:    7100281f     cmp    w0, #0xa
  40052c:    54000081     b.ne    40053c  // b.any
  400530:    90000000     adrp    x0, 400000 <_init-0x3b0>
  400534:    91182000     add    x0, x0, #0x608
  400538:    14000003     b    400544
  40053c:    90000000     adrp    x0, 400000 <_init-0x3b0>
  400540:    91186000     add    x0, x0, #0x618
  400544:    910043ff     add    sp, sp, #0x10
  400548:    d65f03c0     ret

000000000040054c

:
  40054c:    d503201f     nop
  400550:    d65f03c0     ret
  400554:    00000000     .inst    0x00000000 ; undefined


#endif
 

你可能感兴趣的:(Assembly,汇编)