fgets.asm
comment *
MASM32 SDK
ml /c /AT /Fl fgets.asm
link16 /t fgets;
*
		.186
		.model	tiny
 
LF		equ	0ah
CR		equ	0dh
 
STDIN		equ	0
 
		.code
		org	0100h
 
main		proc
		mov	ah, 3fh			; ファイル/デバイスの読み出し
		mov	dx, offset inbuf
		mov	cx, 8			; 読み込むバイト数
		mov	bx, STDIN
		int	21h
 
		mov	di, offset outbuf
		cld
		call	itoa2
		inc	di
 
		mov	si, offset inbuf
		mov	cx, 8
@@loop:
		push	cx
		lodsb
		call	itoa2
		inc	di
		pop	cx
		loop	@@loop
 
		mov	ah, 02h			; 文字の出力
		mov	dl, CR
		int	21h
		mov	dl, LF
		int	21h
 
		mov	ah, 09h			; 文字列の出力
		mov	dx, offset outbuf
		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
 
inbuf		db	8 dup (?)
outbuf		db	'xx:xx xx xx xx-xx xx xx xx', CR, LF, '$'
 
		end	main
 

最終更新:2018年08月19日 20:09
添付ファイル