我对组装完全陌生,想学习手臂组装(仅仅因为我拥有一台 m1 mac)。我在网上找不到很多资源,这就是我来这里的原因。我的代码如下(文件名为first.asm):
global _main
section .text
_main:
mov r7, 0x4
mov r0, 1
ldr r1, message
mov r2, 13
swi 0
.section .data
message: .ascii "Hello, World\n"
Run Code Online (Sandbox Code Playgroud)
当我使用
as first.asm -o hello.o
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
first.asm:2:1: error: invalid instruction mnemonic 'global'
global _main
^~~~~~
first.asm:3:1: error: invalid instruction mnemonic 'section'
section .text
^~~~~~~
first.asm:6:2: error: unknown use of instruction mnemonic without a size suffix
mov r7, 0x4
^
first.asm:7:2: error: unknown use of instruction mnemonic without a size suffix
mov r0, …Run Code Online (Sandbox Code Playgroud) 我有一个简单的程序,如 demo_use.c
#include "libhello.h"
int main(void) {
hello();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
libhello.h
void hello(void);
Run Code Online (Sandbox Code Playgroud)
libhello.c
#include <stdio.h>
void hello(void) {
printf("Hello, library world.\n");
}
Run Code Online (Sandbox Code Playgroud)
我已经在终端中使用了命令
gcc demo_use.c -o test
Run Code Online (Sandbox Code Playgroud)
错误 体系结构x86_64的未定义符号:“ _ hello”,
引用自:ccZdSQP3.o中的_main
ld:找不到架构x86_64的符号collect2:ld返回1退出状态