【问题标题】:I want to transform .asm file to .o but instead of elf64 I need something for 32bit CPU我想将 .asm 文件转换为 .o 但不是 elf64 我需要 32 位 CPU 的东西
【发布时间】:2022-07-16 23:04:56
【问题描述】:

在 Makefile 中,我有构建目标,其中之一是将 demo.asm 转换为 demo.o,但我意识到我需要一些用于 32 位 PC 的东西。有这样的吗?

main: main.o demo.o
        gcc -o main main.o demo.o

main.o: main.c
        gcc -c main.c

demo.o: demo.asm
        nasm -f elf64 demo.asm

【问题讨论】:

  • -f elf32?但是该程序集是为 x86-32 编写的吗?
  • 也许您需要单独的 32 位和 64 位 asm 文件?

标签: assembly makefile x86 nasm


【解决方案1】:

对于 64 位计算机,您必须以不同的方式链接它。

nasm -f elf32 demo.asm
ld -m elf_i386 demo.o -o demo
./demo

【讨论】:

    猜你喜欢
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    相关资源
    最近更新 更多