70 lines
2.0 KiB
Plaintext
70 lines
2.0 KiB
Plaintext
.globl entry
|
|
ahh:
|
|
pushq %rbp
|
|
movq %rsp, %rbp
|
|
subq $128, %rsp
|
|
movl %edi, -4(%rbp) #FunctionStart1param end
|
|
movl -4(%rbp), %edi #adding param start
|
|
call printInteger
|
|
movl %eax, -8(%rbp) #store return from call
|
|
.L1:
|
|
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 $128, %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
|
|
.L2:
|
|
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 $128, %rsp
|
|
movl %edi, -8(%rbp) #FunctionStart1param end
|
|
movl $1, -12(%rbp) #constant assign
|
|
movl $2, -16(%rbp) #constant assign
|
|
movl $3, -20(%rbp) #constant assign
|
|
movl $4, -24(%rbp) #constant assign
|
|
movl $5, -28(%rbp) #constant assign
|
|
movl $6, -32(%rbp) #constant assign
|
|
movl $7, -36(%rbp) #constant assign
|
|
movl -36(%rbp), %edi #adding param start
|
|
movl -32(%rbp), %esi #adding param start
|
|
movl -28(%rbp), %edx #adding param start
|
|
movl -24(%rbp), %ecx #adding param start
|
|
movl -20(%rbp), %r8d #adding param start
|
|
movl -16(%rbp), %r9d #adding param start
|
|
movl -12(%rbp), %eax #adding param start
|
|
movl %eax, 88(%rbp) #adding param end
|
|
call bar
|
|
movl %eax, -44(%rbp) #store return from call
|
|
.L3:
|
|
movl -44(%rbp), %eax #assign start
|
|
movl %eax, -48(%rbp) #assign end
|
|
movl $1, -52(%rbp) #constant assign
|
|
movl -52(%rbp), %eax #return $t12
|
|
leave
|
|
ret
|