format PE GUI 4.0 DLL
entry DllEntryPoint
include 'win32a.inc'
section '.text' code readable executable
export_cmd equ 'ERRORMSG.DLL'
macro prec [arg] {
  common
  match a b, arg \{
    export_cmd equ export_cmd,a,\`a
    proc a b
  \}
}
proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
        mov     eax,TRUE
        ret
endp
prec ShiftRight value, bits
        mov eax, [value]
        mov ecx, [bits]
        shr eax, cl
        ret
endp
prec ShiftLeft value, bits
        mov eax, [value]
        mov ecx, [bits]
        shl eax, cl
        ret
endp
invoke  MessageBox
section '.idata' import data readable writeable
  library user,'USER32.DLL'
  import user,MessageBox,'MessageBoxA'
section '.edata' export data readable
  export export_cmd
  ;export 'ERRORMSG.DLL',ShiftRight,'ShiftRight',ShiftLeft,'ShiftLeft'
section '.reloc' fixups data readable discardable