본문 바로가기
코스웨어/13년 스마트컨트롤러

9월 16일 어셈블리 숙제 - 석주원

by 알 수 없는 사용자 2013. 9. 17.
728x90
반응형

.386

.MODEL FLAT


PUBLIC _linux

.CODE

_linux PROC NEAR32

push ebp ; Entry Code

mov ebp, esp

push ebx ; 레지스터의 값을 보존해줘야 함.

push ecx

push edx

pushfd ; efl값 보존


; eax 위치

mov ebx, esp ; stack pointer 값을 보존

mov esp, [ebp+8]

add esp, 40

push eax


; ecx

mov ebx, [ebp]

push ebx


; edx

mov ecx, [ebp+4]

push ecx


; ebx

mov ebx, [ebp+8]

push ebx

; esp

mov eax, [ebp+12]

push eax


; ebp

mov eax, [ebp+4]

push eax


; esi, edi

push esi

push edi


; eip

mov eax, [ebp+4]

push eax


; efl

mov eax, [ebp+16]

push eax



mov esp, ebx ; stack pointer값 복구


pop edx

pop ecx

pop ebx

mov esp, ebp ; Exit Code

pop ebp

ret

        

_linux ENDP


END



728x90