비주얼 스튜디오로 어셈블리 프로젝트를 시작해 보자.
Empty Project를 만든다.
프로젝트에 적당한 파일을 add한다. 확장자만 asm으로 지정하면 된다.
Solution Explorer - Project Name 우클릭 - Build Dependencies - Build Customizations...
masm(.targets, .props)를 선택한다.
소스파일 우클릭 - Properties
Item Type - Microsoft Macro Assembler를 선택한다.
32비트 프로그램을 개발한다면 x86을 선택한다.
별도의 라이브러리를 사용한다면 아래와 같이 세팅한다.
Solution Explorer - Project Name 우클릭 - Properties
사용할 라이브러리의 디렉토리 경로를 입력한다.
라이브러리 이름을 입력한다.
Microsoft Macro Assembler - General - Include Paths에 라이브러리 경로를 한 번 더 입력한다.
소스를 입력한다.
빌드하고 실행한다.
Syntax Highlighter는 AsmDude나 ChASM을 사용한다.
ChASM - works with Visual Studio 2022
AsmDude - works with 2015, 2017, 2019
※ 참고
Release 모드에서 SAFESEH 관련 LNK1281, LNK2026 에러가 발생할 수 있다.
Microsoft Macro Assembler - Advanced - Use Safe Exception Handlers를 Yes (/safeseh)로 바꾼다.
작업중인 Sorce.obj 파일의 에러는 해결되었지만 라이브러리 파일의 에러는 해결되지 않았다.
Linker - Advanced - Image Has Safe Exception Handlers를 No (/SAFESEH:NO)로 바꾼다.
에러가 사라졌다.
※ 참고
리스트 파일을 생성해야 한다면 아래와 같이 세팅한다.
Microsoft Macro Assembler - Listing File - Assembled Code Listing File - 파일 이름을 지정한다.
프로젝트를 빌드하면 리스트 파일이 생성된다.