怎样写一个 push 64位浮点立即数的宏?
再问:下面的用来压64位的内存参数有没问题?
invokeDmem MACRO funname, args:VARARG ;;args必须是64位内存地址
LOCAL txt, count
txt TEXTEQU <>
count = 0
for i,<args>
count = count + 1
txt TEXTEQU @CatStr(i,<!,>,<%txt>) ;;翻转参数
endm
if count GT 0
txt SUBSTR txt,1,@SizeStr(%txt)-1 ;;去掉最后的逗号
endif
% FOR arg, <txt> ;;每个参数分两次压栈
push dword ptr arg
push dword ptr arg[4]
ENDM
call funname
ENDM
如:
.data
d_45 dq 45.0
d_0p1 dq 0.1
d_100 dq 100.0
.code
LOCAL ratio:qword
invokeDmem gluPerspective, d_45, ratio, d_0p1, d_100
现在的问题是怎样写一个象下面的宏:
myMacro somestdapi, 0.0, 1.1, -2.2
请多指教。