you can put the registers on the stack, then display them
dumping flags and registers is fairly simple....
INCLUDE \masm32\include\masm32rt.inc
.CODE
_main PROC
xor eax,eax ;sets flags as if ZERO
mov eax,1
mov ecx,2
mov edx,3
mov ebx,4
mov ebp,6
mov esi,7
mov edi,8
call DumpRegsD
inkey
exit
_main ENDP
DumpRegsD PROC
pushfd ;EFlags on stack
pushad ;Registers on stack, EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI
mov ebp,esp
print chr$(" EAX = ")
print uhex$([ebp+28]),13,10
print chr$(" EBX = ")
print uhex$([ebp+16]),13,10
print chr$(" ECX = ")
print uhex$([ebp+24]),13,10
print chr$(" EDX = ")
print uhex$([ebp+20]),13,10
print chr$(" ESI = ")
print uhex$([ebp+4]),13,10
print chr$(" EDI = ")
print uhex$([ebp]),13,10
print chr$(" EBP = ")
print uhex$([ebp+8]),13,10
print chr$(" ESP = ")
print uhex$([ebp+12]),13,10
print chr$("EFlags = ")
print uhex$([ebp+32]),13,10,13,10
popad
popfd
ret
DumpRegsD ENDP
END _main
attached is a PNG image of the EFlag bits...