DDK編寫64位驅動時加入x64匯編的方法


上篇講了如何在編寫x64應用程序時加入x64匯編,這里來說說如何在編寫x64驅動時加入x64匯編。

一、在asm文件中單獨編寫功能函數

比如要實現一個64位的加法函數,原型如下:

ULONG64 myAdd(ULONG64 u1,ULONG64 u2);

那么源碼目錄(一般是sources文件所在的目錄)新建一個文件夾,名字叫做 amd64

然后新建一個文件,寫入以下內容:

.CODE

myAdd PROC
    add rcx,rdx
    mov rax,rcx
    ret
myAdd ENDP

END

將其保存為myAdd.asm,存放到剛才建立的amd64文件夾中。

並且在引用它的源文件中添加如下聲明:

EXTERN_C ULONG64 myAdd(ULONG64 u1,ULONG64 u2);

二、修改SOURCES文件

在SOURCES文件中加入一行:

AMD64_SOURCES = amd64\myAdd.asm   #這是64位的,32位的可以改為I386_SOURCES 

原來的SOURCES后面就不要添加這個文件了,然后就可以了!實測通過,夠簡單吧!

新加的這一項僅在編譯x64驅動時才起作用,在編譯x86驅動時會自動忽略,這樣即使切換編譯環境也不需要修改任何設置。

 

參考 :

http://bbs.pediy.com/showthread.php?p=1185534

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM