Files
compiler-the-translators/tests/sprint4/expected/sp4_cg_calls.s.exp
2025-05-06 22:35:26 -04:00

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