MASM 64汇编
Posted 不会写代码的丝丽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MASM 64汇编相关的知识,希望对你有一定的参考价值。
前言
微软宏编译器 MASM 有32位版本(ml)以及64版本(ml64)。
其中相关路径如下:
“C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\bin\\Hostx86\\x64\\ml64.exe”
当然你可以用VS自带的命令行工具打开使用:
命令行进行编译
这里给出一个Demo程序
extern MessageBoxA:proc
includelib user32.lib
NULL EQU 0
MB_OK EQU 0
.const
msg BYTE "Hello x64 World!", 13, 10, 0
.CODE
main PROC
sub rsp,8
sub rsp,20h
mov rcx,NULL
mov rdx,offset msg
mov r8,offset msg
mov r9d,MB_OK
call MessageBoxA
xor ecx, ecx ; exit code = 0
ret
main ENDP
END
相关编译命令
//汇编器编译生成progx.obj
ml64 /c progx.asm
//设置入口为main函数生成可执行二进制
link /ENTRY:main progx.obj
使用VS进行汇编
Tip:64程序不支持内联汇编
//main.cpp
#include<iostream>
using namespace std;
extern "C" int calcFun();
int main()
int ret = calcFun();
cout << ret << endl;
return EXIT_SUCCESS;
;masm.asm
.code
calcFun proc
mov rax,123
ret
calcFun endp
end
参考
Modern x64 Assembly 1: Beginning Assembly Programming
Microsoft Macro Assembler reference
以上是关于MASM 64汇编的主要内容,如果未能解决你的问题,请参考以下文章