Programming Language/x86 Assembly

Visual Studio 2022, x86 Assembly 개발 환경 구축

kanteloper 2022. 12. 3. 15:22

이미지 출처: https://www.intel.co.kr/content/www/kr/ko/gaming/i5-laptop-processor-for-gaming.html

Visual Studio 2022에서 x86 Assembly 개발 환경을 구축하는 과정은 다음과 같다.

  1. Visual Studio 2022 설치 세부 정보 확인
  2. 개발을 위한 프로젝트 생성 및 설정
  3. 필수 확장 프로그램 설치
  4. 개발 환경 테스트

1. Visual Studio 2022 설치 세부 정보 확인

현재 설치된 Visual Studio 2022에서 'C++를 사용한 데스크톱 개발'이 가능한 지 확인한다.

'Visual Studio Installer'에서 '수정' 버튼을 클릭한다.

'워크로드'에서 'C++을 사용한 데스크톱 개발' 항목이 체크되어 있는지 확인한다.

만약 체크되어 있지 않다면, 'C++을 사용한 데스크톱 개발' 항목을 선택하고, 설치 세부 정보에서 위의 그림과 같이 6개 항목이 기본적으로 선택되었는지 확인 한 후, '수정' 버튼을 클릭한다.

설치 세부 정보에서 선택한 6개의 기본 항목은 x64/x86 Visual C++ 컴파일러와 라이브러리, Windows 관련 라이브러리 및 도구 그리고 디버깅을 위한 도구들이다.

 

2. 개발을 위한  프로젝트 생성 및 설정

x86 Assembly 개발을 위한 프로젝트를 생성하고 빌드하기 위한 설정을 한다.

우선, C++ 프로젝트로 '빈 프로젝트(Empty Project)'를 생성한다. 

솔루션 탐색기(Solution Explorer)에서 생성된 프로젝트를 우클릭한다. 

우클릭하여 나온 드롭 다운 메뉴에서 '빌드 종속성(Build Dependencies)'을 클릭하고 '빌드 사용자화(Build Customizations)를 클릭한다.

여기서는 x86 Assembly를 기계어(Machine code)로 번역(Translate)하기 위한 Assembler를 선택한다. MASM은 Microsoft에서 지원하는 Assembler이다. (참고로 MARMASM은 ARM Assembly를 위한 Assembler이다.)

 

MASM for x64 (ml64.exe)

Learn more about: Microsoft Macro Assembler (MASM) for x64 (ml64.exe)

learn.microsoft.com

 

3. 필수 확장 프로그램 설치

Visual Studio 2022의 Intellisence는 Syntax Highlighting, Auto-Completing 등 생산성 향상을 위한 편의 기능을 제공한다. 하지만 Intellisence는 x86/x64 Assembly를 지원하지 않는다. 따라서 이를 대체 할 수 있는 확장 프로그램(Extension)을 설치한다.

확장 프로그램 관리(Manage Extensions)에서 ChASM을 설치한다. 이 확장 프로그램은 기본적으로 x86/x64 Assembly에 대한 Syntax Highlighting과 Auto-Completing 기능을 제공한다.

 

x86/x64 Assembly Syntax Highlighter for Visual Studio 2022 – ethical.blue Magazine

© 2022 by ethical.blue. All rights reserved.

ethical.blue

 

4. 개발 환경 테스트

 

x86 Assembly로 간단한 프로그램을 만들어, 앞에서 구축한 x86 Assembly 개발 환경을 테스트한다.

새로운 x86 Assembly 소스 파일을 추가한다. 이 때, C++ 파일을 선택하고 파일명의 확장자를 '.asm'으로 바꾼다. 

솔루션 탐색기에서 방금 생성한 x86 Assembly 소스 파일을 우클릭하여 '속성'을 클릭한다.

해당 파일의 속성 페이지에서 위의 그림과 같이 item type을 'Microsoft Macro Assembler'로 설정한다.

빌드 플랫폼을 'x86'으로 설정하고 간단한 덧셈 프로그램을 빌드한다.

빌드가 잘 되는 것을 확인할 수 있다.