regdmp.asm
comment *
MASM32 SDK
ml /c /AT /Fl regdmp.asm
link16 /t regdmp;
*
		.186
		.model	tiny
		.code
		org	0100h
 
main		proc
		call	dmpip
		mov	si, offset str_cs
		mov	ax, cs
		call	regdmp
		mov	si, offset str_ds
		mov	ax, ds
		call	regdmp
		mov	si, offset str_es
		mov	ax, es
		call	regdmp
		mov	si, offset str_ss
		mov	ax, ss
		call	regdmp
		mov	si, offset str_sp
		mov	ax, sp
		call	regdmp
 
		mov	ax, 4c00h
		int	21h
main		endp
 
dmpip		proc
		mov	si, offset str_ip
		mov	bp, sp
		mov	ax, [bp]
		call	regdmp
		ret
dmpip		endp
 
regdmp		proc
		mov	di, offset buf
		movsb
		movsb
		inc	di
		call	itoa4
		mov	ah, 09h
		mov	dx, offset buf
		int	21h
		ret
regdmp		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	'xx:xxxx', 0dh, 0ah, '$'
str_cs		db	'CS'
str_ds		db	'DS'
str_es		db	'ES'
str_ss		db	'SS'
str_sp		db	'SP'
str_ip		db	'IP'
 
		end	main
 

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