0
エラー:関数で '_go':c.asm :(テキスト+ 0x6に):
ASM \ NASM -f: `k_main'
コンパイルに未定義参照elf -o co c.asm
bin \ ld -oformatbinary -Text 0x200000 -o bin \ kernel.bin bin \ video.o bin \ inter.o bin \ finter.o bin \ kernel.o -I "C :\ MinGWの\は、」-L "C:\ MinGWの\" libに
c.asm:リンクエラー(MinGWの)
section .text
global _go
extern k_main
_go:
mov esp, 0x200000-4`
call k_main
kernel.c
void k_main(){
//iint();
//initial();
for(;;);
}
ヘルプください
あなたの質問には関係ありません(私はIsmaelの回答は正しいと思います)。あなたのコードにはこの 'mov esp、0x200000-4'があります。私はあなたが最初のプッシュが0x200000に配置されないように4を引くと仮定しますか?もしそうなら、あなたは心配する必要はありません。何かがスタックにプッシュされると、_ESP_が最初に調整されます(通常は32ビット環境では** FIRST **が減算されます)。プッシュしたい値がその場所に格納されます。 'mov esp、0x200000'を使うと、最初のプッシュは0x1FFFFC、0x1FFFFD、0x1FFFFE、0x1FFFFFの値を格納します。 –