なんとなく突然ブートセクタ内でどこまで、できるかやりたくなってアセンブラの練習も兼ねてやってみることにした。まず最初に作ったのは、こんな模様。
以下ソース、qemuで動けばいいと思って作ったので、実機で動かすにはおまじないが必要なはず…。使ったのはnasm
ORG 0x7C00 ;画面初期化 MOV AH, 0x00 MOV AL, 0x03 INT 0x10 ;ビデオモード設定 ;VGAグラフィックス、640x480x4bitカラー MOV AL, 0x12 INT 0x10 MOV AH, 0x0C MOV DX, 0 MOV AL, 0 change_color: MOV CX, 0 naname: ADD DX, 1 ADD CX, 1 INT 0x10 CMP CX, 320 JNE naname ADD AL, 1 CMP AL, 16 JNE change_color fin: JMP fin TIMES 510-($-$$) DB 0 DB 0x55, 0xAA