作者ray2501 (Grunt)
看板ASM
标题Re: [网站] MASM32 and NASM
时间Sun Jan 21 14:59:00 2007
※ 引述《loveflames (.....)》之铭言:
: ※ 引述《ray2501 (Grunt)》之铭言:
: : MASM32:
: : http://www.masm32.com/
: : 已经把许多文件、工具等必要档案包装好的版本,
: : 可以用 MASM 来写 Windows Programming
: : Win32Nasm:
: : http://rs1.szif.hu/~tomcat/win32/
: : 想要用 NASM 来写 Windows Programming 的可以下载这里的资源
: : ============================================================
: : 如果想要用 Assembly 写 Windows programming,
: : 建议用 MASM,因为有一些比较方便的假指令,而 NASM 呼叫 WIN32 API 的
: : 时候要自己把参数一个一个 PUSH 上去,
: : EX.
: : GetMessageA (ANSI Version)
: : PUSH UINT 0
: : PUSH UINT 0
: : PUSH HWND NULL
: : PUSH DWORD WindowMSG
: : CALL [GetMessageA]
: : 而 MASM 有 INVOKE 假指令,可用比较简便的方法来写...
: MASM跟MASM32除了後者不用再宣告WIN32 API函数
: 指令有差别?
MASM 和 MASM32 没差别啊,
MASM32 只是把微软没有单独卖的 MASM 从其它工具(ex DDK)抽出来配上一些工具和文件
以及 FOR Windows header/library 的工具集
(ps. 补充一点,MASM32 里面是给 Windows 用的 Linker
在网路上可以找到之前 DOS 十六位元的 LINK 5.31 ,
加上那个 Linker,MASM32 也可以用来写 dos 程式
MASM32 = MASM 组译器 + for Windows Linker + WINAPI header/library
+ 工具 + 文件
所以换个连结器就是以前 for DOS 的工具
MASM 组译器 + DOS 十六位元 Linker
这件事在我之前学的时候有实验过 @@
AND
我是说 NASM 没有 INVOKE 之类的假指令,函式传递的参数要自己
一个一个 push 过去
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.105.134.119
※ 编辑: ray2501 来自: 59.105.134.119 (01/21 15:03)
※ 编辑: ray2501 来自: 59.105.134.119 (01/21 15:42)