.text
|
|
.globl _start
|
|
_start:
|
|
# set ebp for backtrace
|
|
movl $0x0, %ebp
|
|
|
|
# load argc and argv
|
|
movl (%esp), %ebx
|
|
lea 0x4(%esp), %ecx
|
|
|
|
|
|
# move down the esp register
|
|
# since it may cause page fault in backtrace
|
|
subl $0x20, %esp
|
|
|
|
# save argc and argv on stack
|
|
pushl %ecx
|
|
pushl %ebx
|
|
|
|
# call user-program function
|
|
call umain
|
|
1: jmp 1b
|
|
|
|
|