OS(2) IBM-PCのVRAMの属性について動作確認してみた

BM-PCのVRAMの属性について動作確認してみた。
画面の左側が背景色の変化、右側が文字色の変化となる。

;
; VRAMの属性バイトの確認
;
[org 0x7c00]

start:		mov	ax, 0xb800	; VRAMセグメント
		mov	es, ax
		xor	di, di

		mov	ax, 0x0741	; 黒背景, 白文字, 'A'
		mov	dx, 0x0041	; 黒背景, 黒文字, 'A'	

		mov	cx, 16		; 16回(色)ループ
.@loop		push	cx
		mov	cx, 40		; 最初の40文字は背景色を変更
	rep	stosw
		add	ax, 0x1000	; 背景色+1

		xchg	ax, dx		; 次の40文字は文字色を変更
		mov	cx, 40
	rep	stosw
		add	ax, 0x0100	; 文字色+1
		xchg	ax, dx
		
		pop	cx
		loop	.@loop

		jmp	$

		times 510 - ($ - $$) db 0
		dw	0xaa55