코스웨어/13년 스마트컨트롤러
9월 16일 어셈블리 숙제 - 석주원
알 수 없는 사용자
2013. 9. 17. 09:30
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