テキストモードで色を出したい件について の続き
前回の記事で目をつけていた通り、INT 10/AH=09hの命令で色つきの文字を出すことに成功しました!!!
とりえあえずコードはこんな感じー
MOV AH,0x00 ; 画面モード設定 MOV AL,0x03 ; 80字*25行 16色 テキストモード INT 0x10 MOV AH,0x09 ; 属性付き文字表示 MOV AL,'*' ; 表示する文字 MOV BH,0 ; ページ番号 MOV BL,0x0c ; 文字属性 (明るい赤) MOV CX,1 ; 文字の繰り返し数 INT 0x10
こんな感じのコードを実行することで * を表示させることが出来ました!
やばい!超盛り上がる!!
なんか昔のBASIC弄ってた少年達ってこんな気持ちだったんじゃないかっていう気がしました。
何かよく分からないんだけど手探りで命令探してとにかく打ち込むみたいな。
いや、ホントのとこはどうなのか知らないけど。
どうなんでしょうか。
BLに設定する文字属性ってのが鍵で、ここに設定する属性の情報をこちらのサイトで発見したのでした。
カナダのRegina大学の講義資料っぽいので、もしかして海外の大学ではこんなの常識みたいなアレですか。そうですか。
でもこの命令だとカーソル位置が変更されないので、自分でカーソル動かすところまでセットにして関数作った方が良さそう。
その関数では改行コードとかそういうのも考慮しないといけない感じかなー。
とりあえず今日は気分が良いのでここまで!