Visual Studio-X64匯編編寫方法
純64位匯編:
includelib ucrt.lib includelib legacy_stdio_definitions.lib includelib user32.lib extern printf:proc extern MessageBoxA:proc .data szFormat db "%s",0 szHello db "HelloWorld",0 szRk db "123",0 .code start proc sub rsp,28h mov rdx,offset szHello mov rcx,offset szFormat call printf mov r9,0 mov r8,offset szHello mov rdx,offset szRk mov rcx,0 call MessageBoxA add rsp,28h ret start endp end
注意:
1.平臺工具集要選VS2015
2.屬性->生成依賴項(xiàng)->masm
3.鏈接器->高級->入口點(diǎn)

64位混合編程(C++/Asm):一定要嚴(yán)格執(zhí)行代碼規(guī)范,不然各種報(bào)錯

1.asm:
includelib legacy_stdio_definitions.lib includelib user32.lib extern printf:proc .data szformat db "%s\n",0 .code Myadd proc sub rsp,28h add rcx,rdx mov rax,rcx add rsp,28h ret Myadd endp Myprintf proc sub rsp,28h mov rdx,rcx lea rcx,szformat call printf add rsp,28h ret Myprintf endp end
main.cpp:
#include <iostream>
#include <windows.h>
EXTERN_C UINT64 Myadd(UINT64 a, UINT64 b);
EXTERN_C void Myprintf(const char* szbuffer);
int main()
{
UINT64 num = Myadd(1, 2);
printf("%lld\r\n", num);
Myprintf("hello word");
system("pause");
return 0;
}注意:
如果生成報(bào)錯,并且沒有屬性里面沒有Microsoft Macro Assembler,換成VS2015也沒有的話,
就在源文件里面找到.asm后綴的文件右鍵屬性->常規(guī)->項(xiàng)類型->Microsoft Macro Assembler即可。

到此這篇關(guān)于Visual Studio-X64匯編編寫的文章就介紹到這了,更多相關(guān)Visual Studio-X64匯編內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
純匯編實(shí)現(xiàn)打飛機(jī)小游戲的示例代碼
這篇文章主要介紹了純匯編實(shí)現(xiàn)打飛機(jī)小游戲的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
匯編用串檢測scasb尋找數(shù)的位置實(shí)現(xiàn)
這篇文章主要介紹了匯編用串檢測scasb尋找數(shù)的位置實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
詳解匯編語言中中括號[]作用及l(fā)ea和mov指令的區(qū)別
這篇文章主要介紹了匯編語言中中括號[]作用及l(fā)ea和mov指令的區(qū)別,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
在vs2017中編寫匯編的實(shí)現(xiàn)(圖文)
這篇文章主要介紹了在vs2017中編寫匯編的實(shí)現(xiàn)(圖文),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
淺析ELF轉(zhuǎn)二進(jìn)制允許把 Binary 文件加載到任意位置
本文通過 eip + 偏移地址 實(shí)現(xiàn)了運(yùn)行時(shí)計(jì)算數(shù)據(jù)地址,不再需要把 Binary 文件裝載到固定的位置。本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2020-02-02
匯編語言 輸入10個數(shù)排序并輸出的實(shí)現(xiàn)
這篇文章主要介紹了匯編語言 輸入10個數(shù)排序并輸出的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01

