관리 메뉴

너와 나의 스토리

어셈블리 - 지역 변수/ 프로시저 매개변수 넘기기/ 프로시저 프로토타입 본문

Programming Language/Assembly

어셈블리 - 지역 변수/ 프로시저 매개변수 넘기기/ 프로시저 프로토타입

노는게제일좋아! 2019. 6. 1. 00:58
반응형

●지역 변수

ex)

proc1 PROC 
   LOCAL curX:DWORD,curY:DWORD   ; 지역 변수
   mov curX,3
   mov curY,4
   ret
proc1 ENDP

 

프로시저에 매개변수 넘겨 주기

invoke명령어를 통해 다른 프로시저를 호출하면서 매개변수를 넘겨준다

ex)

include irvine32.inc

proc2 PROTO val1:DWORD, val2:DWORD   ; proc2의 프로토타입을 선언해주면
                                     ; proc2가 proc1 밑에 있어도 호출 가능해진다.
.data

.code
main proc
	call proc1
	exit
main endp

proc1 proc
LOCAL curX:DWORD,curY:DWORD
	mov curX,3
	mov curY,4
	invoke proc2, curX,curY
	ret
proc1 endp

proc2 proc val1:DWORD, val2:DWORD   ; val1=curX, val2=curY가 들어온다
	mov eax,val1
	call writeint
	call crlf 
	mov eax,val2
	call writeint
	call crlf
	ret
proc2 endp
end main

 

반응형
Comments