繁体   English   中英

如何在nasm上运行此汇编代码?

[英]how to run this assembly code on nasm?

我有一个游戏源代码,但我无法在nasm上组装它,我无法理解问题出在哪里。

这是makefile:

# Makefile for the nibbles game.

all: nibbles_asm nibbles_asm_start

# Rule for compiling C source
.c.o:
    gcc -Os -march=i686 -Wall -g -c $<

# Rule for compiling assembly source
.S.o:
    as -gstabs $^ -o $@



# ASM game
nibbles_asm: main.o nibbles.o helpers.o
    gcc -lcurses $^ -o -V $@

# ASM game
nibbles_asm_start: start.o nibbles.o helpers.o workaround.o
    gcc -lcurses -lc -nostdlib $^ -o $@

clean:
    rm -f *~
    rm -f *.o
    rm -f nibbles nibbles_asm

这是错误:

as   -o nibbles.o nibbles.s
gcc -lcurses main.o nibbles.o helpers.o -o -V nibbles_asm
gcc: nibbles_asm: No such file or directory
make: *** [nibbles_asm] Error 1

似乎-gstabs $ ^ -o $ @不构建nibbles_asm文件! 我也在终端输入了自己的命令,但它给了我很多错误。 我的朋友在他的计算机上运行此代码,因此代码没有任何问题。

nibbles.Snibbles.o没有依赖性。 此外, helpers.oworkaround.o没有关联的源文件关系。 添加这些关系,它应该工作。

您在gcc命令中的错误位置(作为-o参数)有一个stray -V 将其取下或放在开头。

trying to exec 'i686-linux-gnu-gcc--lcurses': No such file第二个错误trying to exec 'i686-linux-gnu-gcc--lcurses': No such file意味着你在某个地方缺少gcc和-lcurses之间的空格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM