怎样写一个 push 64位浮点立即数的宏?

one2III 2008-03-28 02:07:19
再问:下面的用来压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

请多指教。
...全文
115 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧