masm32 다운로드
http://www.masm32.com/download.htm
Download The MASM32 SDK
NOTE on the version of MASM supplied in the MASM32 SDK. The versions supplied will write code that works correctly on Windows operating systems from Win95 OEM up to the current versions of Windows. As the Microsoft binaries date from the middle Win98 era,
www.masm32.com
아무 링크나 눌러도 상관없음
암축 풀고 설치
처음에 설치 누르고
이 부분만 위처럼 ok 눌러주고 다 클릭
c 드라이브에 설치 완료된걸 볼 수 있다.
비쥬얼 스튜디오로 사용하기
비쥬얼 스튜디오 새프로젝트 만들기 ->
데스크톱 마법사 생성
솔루션 탐색기의 소스파일 ->추가 -> 새항목
c++ 파일 , 확장자명을 asm 으로 변경
masm 설정
project 속성 -> 링커 -> 고급 -> 이미지에 안전한 예외 처리기 포함 아니요 선택
탐색기 , 내가 생선한 main.asm -> 속성 -> 항목 형식에서 microsoft macro assembler 선택
이제 디버깅이 가능해진다.
간혹 안되는 경우가 있는데 이는 설정이 풀어져서 그렇다. 위의 속성 설정을 다시 확인해보길 바란다.
; AddTwo.asm - adds two 32-bit integers.
; Chapter 3 example
.386
.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword
.code
main proc
mov eax,5
add eax,6
invoke ExitProcess,0
main endp
end main
간단한 예제 실행
위의 코드의 경우 main 함수에서 시작한다.
하지만 임의로 start 함수에서 시작하도록 만든다면 진입점을 바꿔줘야한다.
; AddTwo.asm - adds two 32-bit integers.
; Chapter 3 example
.386
.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword
.code
start proc
mov eax,5
add eax,6
invoke ExitProcess,0
start endp
end start
이렇듯 어셈블리어는 진입점 또한 바꿀수 있다.
위의 진입점에 start 함수 입력
간단한 32 64 비트 어셈블리어 공부 사이트 & 설정 알려주는 사이트
Assembly Language for x86 Processors, 8/e
Thanks to Ken Gregg, James Brink, Gerald Cahill, David Topham, John Moore, John Taylor, Zuoliu Ding, and W.A. Barrett for their excellent corrections and advice over the past 20 years.
www.asmirvine.com
여기에서 어셈블리어에 색깔을 넣어주는 파일을 다운 설치 해보겠다.
색깔 넣는건 자유니까 안따라 해도 된다.
https://marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
AsmDude - Visual Studio Marketplace
Extension for Visual Studio - Syntax highlighting and code assistance for assembly source code (.asm, .cod, .inc, .s) and the Disassembly Window
marketplace.visualstudio.com
들어가서 깔아 주면 된다. ( 비쥬얼 스튜디오 재실행해야함 )
도구 - > 옵션에서 색깔 설정도 해줄수 있다.
참고 유튜브
https://www.youtube.com/watch?v=UGXelZjD5nA
'공부,일 > 어셈블리' 카테고리의 다른 글
__cdecl vs __stdcall (0) | 2021.08.13 |
---|---|
masm32 기본 다지기 튜토듀얼 블로그 (0) | 2021.08.13 |
ch3 assembly language statements (0) | 2021.08.12 |
ch3 -1 어셈블리 명령어 해석 (0) | 2021.08.12 |
ch3 . element of assembly language (0) | 2021.08.12 |
댓글