| Файл, содержащий текст приложения, dlg.asm 
               
                | IDEAL P586
 RADIX 16
 MODEL FLAT
 
 %NOINCL
 %NOLIST
 include "winconst.inc" ; API Win32 
                  consts
 include "winptype.inc" ; API Win32 
                  functions prototype
 include "winprocs.inc" ; API Win32 
                  function
 include "resource.inc" ; resource 
                  consts
 
 MAX_USER_NAME = 20
 DataSeg
 szAppName db 'Demo 1', 0
 szHello db 'Hello, '
 szUser db MAX_USER_NAME dup (0)
 
 CodeSeg
 
                     
                      | Start: | call | GetModuleHandleA, | 0 |   
                      |  | call | DialogBoxParamA, | eax, 
                        IDD_DIALOG, 0, offset DlgProc, 
                        0 |   
                      |  | cmp | eax, 
                        IDOK |  |   
                      |  | jne | bye |  |   
                      |  | call | MessageBoxA, | 0, 
                        offset szHello, \ |   
                      |  |  |  | offset 
                        szAppName, \ |   
                      |  |  |  | MB_OK 
                        or MB_ICONINFORMATION |   
                      | bye: | call | ExitProcess, | 0 |  
 
                     
                      | public | stdcall	
                        DlgProc |   
                      | proc | DlgProc	
                        stdcall |   
                      | arg | @@hDlg 
                        :dword, @@iMsg :dword, @@wPar 
                        :dword, @@lPar :dword |   
                      |  | mov | eax,[@@iMsg] |   
                      |  | cmp | eax,WM_INITDIALOG |   
                      |  | je | @@init |   
                      |  | cmp | eax,WM_COMMAND |   
                      |  | jne | @@ret_false |   
                      |  |   
                      |  | mov | eax,[@@wPar] |   
                      |  | cmp | eax,IDCANCEL |   
                      |  | je | @@cancel |   
                      |  | cmp | eax,IDOK |   
                      |  | jne | @@ret_false |   
                      |  |  |  |   
                      |  | call | GetDlgItemTextA, | @@hDlg, IDR_NAME,	
                        \ |   
                      |  |  |  | offset szUser, 
                        MAX_USER_NAME |   
                      |  | mov | eax,IDOK |   
                      | @@cancel: | call | EndDialog, | @@hDlg, eax |   
                      |  |   
                      | @@ret_false: | xor | eax,eax |  |   
                      |  | ret |   
                      |  |   
                      | @@init: | call | GetDlgItem, | @@hDlg, IDR_NAME |   
                      |  | call | SetFocus, | eax |   
                      |  | jmp | @@ret_false |   
                      | endp   DlgProc |   
                      | end    
                        Start |  |  Файл ресурсов dlg.rc  
               
                | #include "resource.h" IDD_DIALOG DIALOGEX 0, 0, 187, 95
 STYLE DS_MODALFRAME | DS_3DLOOK | 
                  WS_POPUP | WS_CAPTION | WS_SYSMENU
 EXSTYLE WS_EX_CLIENTEDGE
 CAPTION "Dialog"
 FONT 8, "MS Sans Serif"
 BEGIN
 
                    END 
                      |  | DEFPUSHBUTTON | "OK",IDOK,134,76,50,14 |   
                      |  | PUSHBUTTON | "Cancel",IDCANCEL,73,76,50,14 |   
                      |  | LTEXT | "Type your name",IDC_STATIC,4,36,52,8 |   
                      |  | EDITTEXT | IDR_NAME,72,32,112,14,ES_AUTOHSCROLL |  |  Остальные файлы из данного 
              примера, приведены в Приложении 
              1. |