itoa.asm
comment *
MASM32 SDK
ml /c /AT /Fl itoa.asm
link16 /t itoa;
*
		.186
		.model	tiny
		.code
		org	0100h
 
main		proc
		mov	di, offset buf
		mov	ax, 0f0a9h
		call	itoa4
		inc	di
		mov	al, 5ch
		call	itoa2
 
		mov	ah, 09h
		mov	dx, offset buf
		int	21h
		mov	ax, 4c00h
		int	21h
main		endp
 
itoa2		proc
		mov	cx, 2
@@loop:
		rol	al, 4
		push	ax
		and	al, 0fh
		cmp	al, 0ah
		sbb	al, 69h
		das
		stosb
		pop	ax
		loop	@@loop
		ret
itoa2		endp
 
itoa4		proc
		mov	cx, 4
@@loop:
		rol	ax, 4
		push	ax
		and	al, 0fh
		cmp	al, 0ah
		sbb	al, 69h
		das
		stosb
		pop	ax
		loop	@@loop
		ret
itoa4		endp
 
buf		db	'xxxx:xx', 0dh, 0ah, '$'
 
		end	main
 


別バージョン

itoa4.asm
comment *
MASM32 SDK
ml /c /AT /Fl itoa4.asm
link16 /t itoa4;
*
		.186
		.model	tiny
		.code
		org	0100h
 
main		proc
		mov	di, offset buf
		mov	ax, 09afh
		call	itoa4
 
		mov	ah, 09h
		mov	dx, offset buf
		int	21h
		mov	ax, 4c00h
		int	21h
main		endp
 
itoa4		proc
		mov	cx, 4
@@loop:
		rol	ax, 4
		push	ax
		mov	bl, al
		and	bx, 000fh
		mov	al, hexstr[bx]
		stosb
		pop	ax
		loop	@@loop
		ret
itoa4		endp
 
hexstr		db	'0123456789ABCDEF'
buf		db	'xxxx', 0dh, 0ah, '$'
 
		end	main
 
最終更新:2018年08月18日 08:05
添付ファイル