テキストモードで色を出したい件について の続き

前回の記事で目をつけていた通り、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大学の講義資料っぽいので、もしかして海外の大学ではこんなの常識みたいなアレですか。そうですか。
でもこの命令だとカーソル位置が変更されないので、自分でカーソル動かすところまでセットにして関数作った方が良さそう。
その関数では改行コードとかそういうのも考慮しないといけない感じかなー。


とりあえず今日は気分が良いのでここまで!