flat assembler
Message board for the users of flat assembler.
  
       
      Index
      > Main > proc by macro | 
  
| Author | 
  | 
              
| 
                  
                   DimonSoft 06 Aug 2020, 19:20 
                  Looks like ..... is the source of trouble. 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   Overclick 06 Aug 2020, 19:38 
                  Works fine without that simple macro. Proc itself is very intricate already. 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   revolution 06 Aug 2020, 22:40 
                  Overclick: Post something minimal we can compile without having to guess what you have done. 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   Overclick 07 Aug 2020, 04:08 
                  Oh sorry, it happens inside an other macro only.
 
                  
                Code: macro set_it { macro proc [param] \{ common proc param \} } set_it Does it make any difference?  | 
              |||
                  
  | 
              
| 
                  
                   revolution 07 Aug 2020, 04:22 
                  Overclick wrote: Oh sorry, it happens inside an other macro only. Code: 1 passes, 0 bytes.  | 
              |||
                  
  | 
              
| 
                  
                   Overclick 07 Aug 2020, 04:32 
                  Try this
 
                  
                Code: format PE64 GUI 5.0 include 'WIN64ax.INC' macro set_it { macro proc [param] \{ common proc param \} } set_it MYDIALOG = 1000 section '.rsrc' resource from 'Test.res' data readable section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL',\ gdi32,'GDI32.DLL',\ advapi32,'ADVAPI32.DLL',\ comctl32,'COMCTL32.DLL',\ comdlg32,'COMDLG32.DLL',\ shell32,'SHELL32.DLL',\ wsock32,'WSOCK32.DLL' import_kernel32 import_user32 import_gdi32 import_advapi32 import_comctl32 import_comdlg32 import_shell32 import_wsock32 all_api section '.text' code readable executable entry $ sub rsp,8 invoke GetModuleHandle,0 invoke DialogBoxParam,rax,MYDIALOG,NULL,DlgProc,NULL proc DlgProc uses rbx rsi rdi,hWnd,wMsg,wParam,lParam mov [hWnd],rcx mov [wMsg],rdx mov [wParam],r8 mov [lParam],r9 ret endp  | 
              |||
                  
  | 
              
| 
                  
                   revolution 07 Aug 2020, 04:42 
                  The common needs to be escaped or it is processed at the wrong level.     
                  
                Code: macro set_it { macro proc [param] \{ \common proc param \} } set_it  | 
              |||
                  
  | 
              
| 
                  
                   Overclick 07 Aug 2020, 04:47 
                  It works, thanks man 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   revolution 07 Aug 2020, 04:49 
                  Same for local, forward and reverse. 
                  
                 | 
              |||
                  
  | 
              
< Last Thread | Next Thread >  | 
    
Forum Rules: 
  | 
    
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.