使用VS2019写64位内联汇编

selph
selph
发布于 2021-09-03 / 1619 阅读
0
0

使用VS2019写64位内联汇编

步骤:

  1. 单独创建 asm 文件

  2. 右键 asm 文件属性设置:
    image.png

  3. 保存后,自定义生成工具设置:

    ml64 /c %(filename).asm
    
    %(filename).obj;%(Outputs)
    

    image.png

  4. 保存,即可写汇编了

注意:这里的 asm 文件要单独创建出来写,写成汇编函数,然后在我们的 c/cpp 文件里导入该函数即可使用

汇编写法示例:

.CODE
GetPebLdr PROC
	mov rax, gs:[60h];
	add rax, 18h;
	mov rax, [rax];
	ret;
GetPebLdr ENDP
END

导入方法示例:

extern "C" PVOID64 _cdecl GetPebLdr(void);

64 位程序才需要这种方式来加入汇编代码,编译 32 位程序的时候,直接__asm 内联汇编即可


评论