dosv1.asm
comment *
	MASM32 SDK
ml /c /AT dosv1.asm
link16 /t dosv1;
*
	.model	tiny
 
_WIDTH	equ	256
_HEIGHT	equ	160
 
	.code
	org	0100h
start:
	call	main
	mov	ah, 4ch
	int	21h
 
main	proc
	local	x:WORD
	local	y:WORD
 
	call	init
 
	mov	ax, 0a000h	; GVRAM
	mov	es, ax
	mov	di, 0		; pixel
 
	mov	y, _HEIGHT
yloop:
	mov	x, _WIDTH
xloop:
	mov	ax, di
	and	ax, 3fh
	mov	es:[di], al
 
	inc	di		; pixel++;
	dec	x
	jnz	xloop
 
	add	di, 320 - _WIDTH
	dec	y
	jnz	yloop
 
	xor	al, al
	ret
main	endp
 
init	proc
	mov	al, 13h		; ビデオモード
	mov	ah, 00h
	int	10h
 
	mov	bx, 0
@@:
	mov	dh, 0		; R
	mov	ch, bl		; G
	mov	cl, bl		; B
	mov	ax, 1010h	; パレット設定
	int	10h
	inc	bx
	cmp	bx, 40h
	jb	@b
 
	ret
init	endp
 
	end	start
 
最終更新:2019年09月06日 09:58
添付ファイル