Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

난 정말 최고야 멋있어

MASM 기본 문법 본문

카테고리 없음

MASM 기본 문법

n00bh4cker 2020. 1. 17. 23:13

PROTO : 함수의 프로토타입 선언

HelloWorld PROTO :DWORD, DWORD

; 파라미터로 DWORD 형 변수 두개를 받는 HelloWorld라는 함수의 프로토타입을 선언

 

MACRO ~ ENDM : 매크로 정의

매크로 이름 MACRO 인자

;할 일!!

ENDM

 

.DATA : 데이터 세그먼트 표시

.DATA? : BSS 세그먼트 표시 (초기화 X && 0으로 초기화)

데이터 세그먼트의 값을 할당할때는 

[변수이름] [변수타입(dd,db..etc) ] [ 값 ]

ex)

simpleAddr dd 00400000h 

simpleString db "안녕하세요",0 ;"안녕하세요\0"

simpleBssData dd ? 

 

.CODE : 코드 세그먼트 표시

 

함수이름 PROC ~ ENDP : 함수의 정의

 

HelloWorld PROC uses 변수이름1, 변수이름2

xor rax,rax

ret

ENDP

 

 

LOCAL : 지역 변수 선언

LOCAL Hello:DWORD

 

@@: , @B, @F :

 

@@:

jmp @F    ;다음 @@로 점프

jmp @B    ;이전 @@로 점프

@@:  

 

.IF , .ELSE , .ELSEIF , ENDIF : 조건문

점프문이랑 cmp 안섞어가면서 조건문 이용 할 수 있게 해준다!

 

.IF eax==0

    ;할 일

.ELSEIF ebx==0

    ;또 다른 할 일

.ELSE

    ;또 또 다른 일

.ENDIF

 

 

 

 

TBD