汇编获取二进制

文章目录


AT&T

  • mov_test.s
c 复制代码
mov $0,%r8d
  • gcc -c mov_test.s 输出 mov_test.o,
  • objdump -D mov_test.o 查看 mov_test.o:
c 复制代码
mov_test.o:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <.text>:
   0:   41 b8 00 00 00 00       mov    $0x0,%r8d
  • mov_.S
cpp 复制代码
mov %r8d,0
nop
  • 执行命令: gcc -c mov_.S 会输出 mov_.o 文件:
  • objdump -D mov_.o :
c 复制代码
mov_.o:     文件格式 elf64-x86-64

Disassembly of section .text:

0000000000000000 <.text>:
   0:   44 89 04 25 00 00 00    mov    %r8d,0x0
   7:   00 
   8:   90                      nop
  • main.c:
c 复制代码
void main() {
}
  • 执行命令: gcc -S main.c 输出文件 main.s
  • main.s:
c 复制代码
       .file   "main.c"
        .text
        .globl  main
        .type   main, @function
main:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   main, .-main
        .ident  "GCC: (Uos 8.3.0.3-3+rebuild) 8.3.0"
        .section        .note.GNU-stack,"",@progbits
  • doubao.s:
c 复制代码
section .text
    global _start

_start:
    ; 将 0 存入 r8d 寄存器
    mov r8d, 0

    ; 退出程序
    mov eax, 1
    xor ebx, ebx
    int 0x80    

asm

  • asm_test.c:
c 复制代码
#include <stdio.h>

int main() {
    int num = 10;
    __asm__ (
        "movl %1, %%eax\n\t"
        "movl %%eax, %0\n\t"
        : "=m" (num)
        : "r" (num)
        : "%eax"
    );
    printf("The value of num is: %d\n", num);
    return 0;
}

Intel

  • Intel 语法 mov_test.s 应改为
c 复制代码
mov  r8d,0
  • asm_test.c , 指定使用 Intel 语法,需要执行 gcc -masm=intel -S asm_test.c
相关推荐
花阴偷移17 小时前
逆向基础--汇编基础(字与物料地址) (004)
汇编
小尧嵌入式1 天前
STM32启动汇编文件详解及启动逻辑
汇编·arm开发·stm32·单片机
花阴偷移1 天前
逆向基础--汇编基础(CS与IP) (05)
网络·汇编·网络协议·tcp/ip
梓仁沐白6 天前
CSAPP实验2:Bomb
汇编
资料,小偿7 天前
8086微机原理与汇编语言,8086程序设计,EMU8086,MASM,汇编程序设计,proteus
汇编·51单片机·proteus
rechol16 天前
汇编与底层编程笔记
汇编·arm开发·笔记
CHANG_THE_WORLD17 天前
switch语句在汇编层面的几种优化方式 ,为什么能进行优化
汇编·算法·switch·汇编分析·switch case·switch case 汇编·switch case 语句
SundayBear18 天前
嵌入式进阶:C语言内联汇编
c语言·开发语言·汇编
CC-NX19 天前
32位汇编:实验5算数运算类指令使用
汇编·win32·算数运算
伐尘19 天前
【汇编】RAX,eax,ax,ah,al 关系
汇编