我有一个这样的结构:
struct MESGE
TEXT db 'Message',0
mLen db 8
ends
我需要将它发送到一个 proc,它将在屏幕上显示一行:
proc OutMes, pMESG:MESGE
push 0
push chrsWritten
push [pMESG.mLen]
push [pMESG.TEXT]
push [hStdOut]
call [WriteConsoleA]
ret
endp
我怎样才能做到这一点?如果我在参数中使用 MESGE 类型,那么 fasm 会报错。如果我使用 dword 类型(将 MESGE 作为 ptr 发送)我不知道如何检索此结构的成员(实际上,它们可以通过偏移量检索但我不喜欢这种方法 - 如果有很多成员struct,构造会很复杂)
在 MASM,它可以这样完成:
ShowMessage PROC hMes: dword
mov ebx,hMes
assume ebx:ptr MESG
...
但在 FASM 建设中
assume ebx:ptr MESG
or
assume ebx:[ptr MESG]
报告为错误。我怎样才能做到这一点?