我想把《orange`s一个操作系统的实现》和《30天自制操作系统》和起来看,所以想在linux上用nasm+gcc来写操作系统,现在想用汇编调用C(我汇编没啥基础),但是要么加org出instruction expected,要么extern那边说不支持,求教个为大佬教一下.
源代码和make的部分:
asm_entry.asm<<<
org 0xc200
[section .text]
global _start
global vga
extern c_entry
_start:
call c_entry
mov ebx,0
mov eax,1
int 0x80
vga:
mov ax,0x13
mov ah,0x00
int 0x10
ret
c_entry.c<<
extern void vga();
void c_entry()
{
vga();
return;
}
$make:
nasm -f elf asm_entry.asm -o ae.bin
gcc -m32 -c -o ce.bin c_entry.c
ld -m elf_i386 -s -o ld_ac.bin ae.bin ce.bin