countup.asm
comment *
MASM32 SDK
ml /c /AT /Fl countup.asm
link16 /t countup;
*
		.model	tiny
 
LF		equ	0ah
CR		equ	0dh
 
STDOUT		equ	1
 
write		macro
		mov	ah, 40h			; ファイル/デバイスの書き込み
		mov	bx, STDOUT
		int	21h
		endm
 
		.code
		org	0100h
 
main		proc
		mov	ax, 0
@@loop:
		push	ax
		call	printd
		mov	ah, 02h
		mov	dl, CR
		int	21h
		pop	ax
		inc	ax
		cmp	ax, 0
		jne	@@loop
 
		mov	ah, 02h
		mov	dl, CR
		int	21h
		mov	dl, LF
		int	21h
		mov	ax, 4c00h
		int	21h
main		endp
 
printd		proc
		mov	bx, offset numbuf_end
		mov	cx, 10
@@loop:
		mov	dx, 0
		div	cx
		add	dl, '0'
		dec	bx
		mov	[bx], dl
		cmp	ax, 0
		jne	@@loop
 
		mov	dx, bx
		mov	cx, offset numbuf_end	; 書き込むバイト数
		sub	cx, bx
		write
		ret
printd		endp
 
numbuf		db	5 dup (?)
numbuf_end	label	byte
 
		end	main
 
最終更新:2018年08月20日 08:30