75 lines
2.2 KiB
Plaintext
75 lines
2.2 KiB
Plaintext
.globl entry
|
|
ahh:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
subq $576, %rsp
|
|
movl %edi, -4(%rbp) #FunctionStart1param end
|
|
movl -4(%rbp), %edi #adding param start
|
|
call printInteger
|
|
movl %eax, -8(%rbp) #store return from call
|
|
movl -8(%rbp), %eax #assign start
|
|
movl %eax, -4(%rbp) #assign end
|
|
movl $1, -12(%rbp) #constant assign
|
|
movl -12(%rbp), %eax #negation start
|
|
negl %eax
|
|
movl %eax, -16(%rbp) #negation end
|
|
movl -16(%rbp), %eax #return $t2
|
|
leave
|
|
ret
|
|
bar:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
subq $576, %rsp
|
|
movl 20(%rbp), %eax #FunctionStart1Param start
|
|
movl %eax, -4(%rbp) #FunctionStart1param end
|
|
movl %r9d, -12(%rbp) #FunctionStart1param end
|
|
movl %r8d, -16(%rbp) #FunctionStart1param end
|
|
movl %ecx, -20(%rbp) #FunctionStart1param end
|
|
movl %edx, -24(%rbp) #FunctionStart1param end
|
|
movl %esi, -28(%rbp) #FunctionStart1param end
|
|
movl %edi, -32(%rbp) #FunctionStart1param end
|
|
movl -32(%rbp), %edi #adding param start
|
|
call printInteger
|
|
movl %eax, -36(%rbp) #store return from call
|
|
movl -36(%rbp), %eax #assign start
|
|
movl %eax, -4(%rbp) #assign end
|
|
movl -12(%rbp), %eax #return b
|
|
leave
|
|
ret
|
|
entry:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
subq $576, %rsp
|
|
movl %edi, -12(%rbp) #FunctionStart1param end
|
|
movl $97, -13(%rbp) #constant assign
|
|
movl -13(%rbp), %eax #assign start
|
|
movl %eax, -14(%rbp) #assign end
|
|
movl -14(%rbp), %edi #adding param start
|
|
call printCharacter
|
|
movl %eax, -20(%rbp) #store return from call
|
|
movl -20(%rbp), %eax #assign start
|
|
movl %eax, -24(%rbp) #assign end
|
|
movl $1, -28(%rbp) #constant assign
|
|
movl $2, -32(%rbp) #constant assign
|
|
movl $3, -36(%rbp) #constant assign
|
|
movl $4, -40(%rbp) #constant assign
|
|
movl $5, -44(%rbp) #constant assign
|
|
movl $6, -48(%rbp) #constant assign
|
|
movl $7, -52(%rbp) #constant assign
|
|
movl -52(%rbp), %edi #adding param start
|
|
movl -48(%rbp), %esi #adding param start
|
|
movl -44(%rbp), %edx #adding param start
|
|
movl -40(%rbp), %ecx #adding param start
|
|
movl -36(%rbp), %r8d #adding param start
|
|
movl -32(%rbp), %r9d #adding param start
|
|
movl -28(%rbp), %eax #adding param start
|
|
movl %eax, 152(%rbp) #adding param end
|
|
call bar
|
|
movl %eax, -60(%rbp) #store return from call
|
|
movl -60(%rbp), %eax #assign start
|
|
movl %eax, -64(%rbp) #assign end
|
|
movl $1, -68(%rbp) #constant assign
|
|
movl -68(%rbp), %eax #return $t14
|
|
leave
|
|
ret
|