あなたの問題の説明や、質問から判断するのは少し難しいので、私が思うことについては、ここを参照してください。「構文に問題があります」という質問を投稿するときは、構文の問題が何であるかを実際に示すことをお勧めします:-)
解決策については、ここを参照してください(ただし、機能しない場合があります。以下を参照してください)。
基本的に、org
NASMのステートメントは、セクションのベースアドレスを設定するためのものであり、ストリームにバイトを任意に挿入するために使用することはできません。次のようなものを使用することをお勧めします。
org 1000h
%include "kernel.asm"
times 7c00h-($-$$) db 0 ; pad it out with zero bytes
%include "boot.asm"
しかし、あなたは自分がやろうとしていることについて考えましたか。メモリにロードするフラットバイナリファイルを作成している場合は、ブートセクターとカーネルの両方を1つのファイルにまとめる必要はないと思います。
BIOSは、ブートセクターを7c00:0に単一のチャンクとしてロードする必要があり、そのチャンクの開始時にカーネルがある場合、ほぼ確実に混乱します。あなたがする必要があるのは、2つの完全に別々のフラットバイナリファイルを作成することだと思います。1つはブートセクター用で、もう1つはカーネル用です。BIOSがブートセクターをロードし、次にブートセクターがカーネルをロードします。
次に、関連するステートメントを2つのソースファイルに入れることができorg
、問題が解決されることを願っています。