1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
.file "tester.c"
.text
.global a
.data
.balign 2
.type a, @object
.size a, 2
a:
.short 5
.text
.balign 2
.global foo
.type foo, @function
foo:
; start of function
; framesize_regs: 0
; framesize_locals: 2
; framesize_outgoing: 0
; framesize: 2
; elim ap -> fp 2
; elim fp -> sp 2
; saved regs:(none)
; start of prologue
SUB.W #2, R1
; end of prologue
MOV.W R12, @R1
MOV.W @R1, R12
ADD.W #-2, R12
MOV.W @R12, R12
CMP.W #0, R12 { JEQ .L2
MOV.B #0, R12
BR #.L3
.L2:
MOV.B #1, R12
.L3:
; start of epilogue
ADD.W #2, R1
RET
.size foo, .-foo
.balign 2
.global main
.type main, @function
main:
; start of function
; framesize_regs: 0
; framesize_locals: 0
; framesize_outgoing: 0
; framesize: 0
; elim ap -> fp 2
; elim fp -> sp 0
; saved regs:(none)
; start of prologue
; end of prologue
MOV.W #a, R12
CALL #foo
; start of epilogue
.refsym __crt0_call_exit
RET
.size main, .-main
.ident "GCC: (jozef) 7.3.2"
|