マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

Hello World!

OSとエミュレータ作成中。ブートローダBIOSがめんどいから省略。OSはC++で作る予定。VRAMの設定忘れたから、vmcallでエミュレータの描画命令を呼び出すことにした(それってエミュレータなのか?)。今のところ、一部の命令のバグで文字列の表示ができてないので一文字ずつ表示させている。vmcallの引数はeax, ecx, edx, ebxの順に設定される。それでeaxの値によって呼び出す機能を変化させている。今のところ1がWindow作成、2が文字表示となっている。今回Windowを作成しているが意味は無い。文字描画はすでに表示しているWindowがあるので、そっちに描画している

void start(){
    vmcall(1, 2, 3, 4);
    vmcall(2, 2, 'H', 5);
    vmcall(2, 2, 'e', 5);
    vmcall(2, 2, 'l', 5);
    vmcall(2, 2, 'l', 5);
    vmcall(2, 2, 'o', 5);
    vmcall(2, 2, ' ', 5);
    vmcall(2, 2, 'W', 5);
    vmcall(2, 2, 'o', 5);
    vmcall(2, 2, 'r', 5);
    vmcall(2, 2, 'l', 5);
    vmcall(2, 2, 'd', 5);
    vmcall(2, 2, '!', 5);

    for(;;){
      
    }
}