All pastes #76304 Raw Edit

kgen for cm#1

public text v1 · immutable
·published 2006-07-01 11:53 UTC
rendered paste body
.486
.model flat, stdcall  ;32 bit memory model
option casemap :none  ;case sensitive

include kgen3.inc

.data
szFormat	db "%4x", 0

.data?
szBuffer	DWORD	?
szName		DWORD	?


.code

start:

	invoke GetModuleHandle,NULL
	mov	hInstance,eax

	invoke InitCommonControls
	invoke DialogBoxParam,hInstance,IDD_DIALOG1,NULL,ADDR DlgProc,NULL
	invoke ExitProcess,0

;########################################################################

DlgProc proc hWin:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
 	mov	eax,uMsg
 	.if	eax==WM_INITDIALOG
 	.elseif	eax==WM_COMMAND
		mov eax,wParam
		mov ecx,eax
		shr ecx,16
		.IF cx==BN_CLICKED
			.IF ax==IDC_BTN1

				invoke GetDlgItemText, hWin, IDC_EDT1, addr szName, 512
				
				xor ebx, ebx
				lea esi, szName
				
				@@: movsx ebx, BYTE PTR [esi]
				add eax, ebx
				inc esi
				or ebx, ebx
				jnz @B
				
				invoke wsprintf, addr szBuffer, addr szFormat, eax
				invoke SetDlgItemText, hWin, IDC_EDT2, addr szBuffer
	
			.ENDIF
		.ENDIF
 	.elseif	eax==WM_CLOSE
 		invoke	EndDialog,hWin,0
 	.else
 		mov	eax,FALSE
 		ret
 	.endif
 	mov	eax,TRUE
 	ret
DlgProc endp

end start