我正在尝试使用masm32来编写x86程序集中的代码。我正在与一些WinAPI调用连接,我需要通过指针访问结构。
这是我的基本代码:
.586
.MODEL FLAT, C
OPTION CASEMAP:NONE
.STACK
obj STRUCT
field DWORD ?
obj ENDS
objPtr TYPEDEF PTR obj
.CODE
main PROC
LOCAL inst : objPtr
; Assume inst is assigned to something (result of function call eg)
main ENDP
END main
所以我有一个指向结构的指针,指针作为函数的结果给我,所以假设它指向一个有效的结构。我想知道的是我如何重新分配其中的一些领域。在C中,我使用 - >运营商这样做,例如:
inst->field = 42
我需要在汇编代码中执行等效操作。是否有可能不必直接访问结构的本地副本?我是否需要将指针放入寄存器?我自己尝试过一些研究,但是我很难理解我看到的代码,或者找到特定的MASM示例。
非常感谢帮助!