VS2022汇编环境搭建

使用VS2022搭建汇编语言运行环境

使用Visual Studio 2022 搭建汇编语言项目,运行汇编语言代码。

Step 1 安装VS2022

自行到官网下载安装,选择C++编程环境。
在这里插入图片描述

Step 2 创建项目

  1. 点击初始框右下方的 Create a new project
    在这里插入图片描述
  2. 点击Empty Project 项目,设置项目名和项目位置
    在这里插入图片描述
  3. 右键 Source File ,点击 add ,再点击New Item,创建资源文件
    在这里插入图片描述
  4. 点击 C++ File(.cpp) 创建文件,这里将文件后缀名改成 asm,作为汇编语言源文件,汇编代码写在这里。
    在这里插入图片描述
  5. 右键左边项目名的小三角,点击 Build Dependencies,再点击 Build Customizations… ,设置依赖
    在这里插入图片描述
  6. 点击 masm 中的那一项,然后点击OK
    在这里插入图片描述
  7. 如图,点击 Local Windows Debugger 的小三角,再点击最后一项 XXX Debug Properties
    在这里插入图片描述
  8. 点击 linker 项,再找到 Advenced 项,设置 Entry Pointmain ,点击 确认
    在这里插入图片描述
  9. 在创建的.asm文件中输入以下代码:
EXTERN GetStdHandle : PROC
EXTERN WriteFile : PROC
EXTERN ExitProcess : PROC
 
.DATA?
hFile QWORD ?
BytesWritten DWORD ?
 
.DATA
hello BYTE 'Hello world!', 13, 10
 
.CODE
main PROC
; https://blogs.msdn.microsoft.com/oldnewthing/20160623-00/?p=93735
sub rsp, 40 ; Shadow space (4 * 8) & 1 parameter (8 bytes)
; https://docs.microsoft.com/en-us/cpp/build/stack-allocation
and spl, -16 ; Align to 16
 
; https://msdn.microsoft.com/library/windows/desktop/ms683231.aspx
mov ecx, -11 ; DWORD nStdHandle = STD_OUTPUT_HANDLE
call GetStdHandle ; Call WinApi
mov hFile, rax ; Save returned handle
 
; https://msdn.microsoft.com/library/windows/desktop/aa365747.aspx
mov rcx, hFile ; HANDLE hFile (here: Stdout)
lea rdx, hello ; LPCVOID lpBuffer
lea r9, BytesWritten ; LPDWORD lpNumberOfBytesWritten
mov r8d, LENGTHOF hello ; DWORD nNumberOfBytesToWrite
mov qword ptr [rsp+32], 0 ; LPOVERLAPPED lpOverlapped = NULL
call WriteFile ; Call WinAPI
 
exit:
; https://msdn.microsoft.com/library/windows/desktop/ms682658.aspx
xor ecx, ecx ; Set RCX to null for return value
call ExitProcess ; Call WinAPI to exit
main ENDP
 
END
  1. 点击 Local Windows Debugger,运行
    在这里插入图片描述
    接下来开始汇编之旅吧!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值