我正在寫MASM32程序集中的任務,我幾乎完成了它,但我有兩個問題,我似乎無法回答。首先,我編譯時得到消息:組裝原型指令
INVOKE需要原型 程序
&
無效的指令操作數
首先是由於這一段代碼:
.data?
Freq DWORD ?
Time1 DWORD ?
Time2 DWORD ?
.code
start:
invoke QueryPerformanceFrequency, addr Freq
invoke QueryPerformanceCounter, addr Time1
現在,我知道
的調用指令必須由PROTO語句被調用的過程 前面 。
,但即使我發現了PROTO語句的語法:
label PROTO [distance] [langtype] [,[parameter]:tag]
我不明白到底是什麼我應該寫,以使其工作,我甚至不知道是什麼導致第二個錯誤或如何解決它... =/
編輯
我已經有這些庫和這些也:
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
我正在Windows Vista下工作,以防萬一,以幫助以及。
編輯2
如果我寫的頻率:對。數據我收到此錯誤消息後QWORD:
使用寄存器的假設ERROR
以及我應該在哪裏添加
QueryPerformanceCounter PROTO :DWORD
據我所知,雖然沒有發生錯誤,但我仍然不確定是否改變了任何內容(我將它放在.data之前和庫之後)。
如果包含kernel32.inc,則不需要QueryPerformance * API的原型。嘗試我發佈的最後一個例子。 .data之後是 – newgre 2009-02-09 02:20:24