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