4

GCCで16ビットCコードをコンパイルするにはどうすればよいですか?「HelloWorld!」とだけ書き込むフラットブートローダーを作成しようとしています。コンピュータに接続して停止します。

int main(int argc, char** argv)
{
    char* value = "Hello World!";
    __asm
    {
        mov si, value
    loop:
        lodsb
        cmp al, 0
    halt:
        je halt
        mov bx, 0x0007 ; Black BG, White TXT
        mov ah, 0x0E   ; Teletype output
        int 0x10
        jmp loop
    }
 }
4

2 に答える 2

6

あなたはそうしない。できません。GCCは16ビットのx86コードを生成しません。

Open Watcom C /C++または古代のTurboC++を使用します(v 1.01はオンラインで無料で入手できます)。

于 2012-05-07T01:13:31.447 に答える
2

16ビットのブートローダー、カーネルをcに書き込むことができます。コンパイラに16ビットオブジェクトファイルを生成するように指示するには、ファイルの先頭に.code16または.code16gccを配置する必要があります。

于 2014-12-30T10:29:56.087 に答える