| 1 | .file "main-with-data-bss.c" |
| 2 | .global glob_var_array |
| 3 | .data |
| 4 | .balign 2 |
| 5 | .type glob_var_array, @object |
| 6 | .size glob_var_array, 20 |
| 7 | glob_var_array: |
| 8 | .short 0 |
| 9 | .short 1 |
| 10 | .short 2 |
| 11 | .short 3 |
| 12 | .short 4 |
| 13 | .short 5 |
| 14 | .short 6 |
| 15 | .short 7 |
| 16 | .short 8 |
| 17 | .short 9 |
| 18 | .local glob_bss_array |
| 19 | .comm glob_bss_array,20,2 |
| 20 | .text |
| 21 | .balign 2 |
| 22 | .global main |
| 23 | .type main, @function |
| 24 | main: |
| 25 | ; start of function |
| 26 | ; framesize_regs: 0 |
| 27 | ; framesize_locals: 2 |
| 28 | ; framesize_outgoing: 0 |
| 29 | ; framesize: 2 |
| 30 | ; elim ap -> fp 2 |
| 31 | ; elim fp -> sp 2 |
| 32 | ; saved regs:(none) |
| 33 | ; start of prologue |
| 34 | SUB.W #2, R1 |
| 35 | ; end of prologue |
| 36 | MOV.W #0, @R1 |
| 37 | BR #.L2 |
| 38 | .L7: |
| 39 | MOV.W @R1, R12 |
| 40 | ADD.W R12, R12 |
| 41 | ADD.W #glob_var_array, R12 |
| 42 | MOV.W @R12, R13 |
| 43 | MOV.W R13, R12 |
| 44 | ADD.W R12, R12 |
| 45 | ADD.W R13, R12 |
| 46 | rpt #2 { rlax.w R12 |
| 47 | SUB.W R13, R12 |
| 48 | CMP.W #110, R12 { JNE .L3 |
| 49 | .L4: |
| 50 | BR #.L4 |
| 51 | .L3: |
| 52 | MOV.W @R1, R12 |
| 53 | ADD.W R12, R12 |
| 54 | ADD.W #glob_bss_array, R12 |
| 55 | MOV.W @R12, R13 |
| 56 | MOV.W R13, R12 |
| 57 | ADD.W R12, R12 |
| 58 | ADD.W R13, R12 |
| 59 | rpt #2 { rlax.w R12 |
| 60 | SUB.W R13, R12 |
| 61 | CMP.W #110, R12 { JNE .L5 |
| 62 | .L6: |
| 63 | BR #.L6 |
| 64 | .L5: |
| 65 | ADD.W #1, @R1 |
| 66 | .L2: |
| 67 | MOV.B #9, R12 |
| 68 | CMP.W @R1, R12 { JGE .L7 |
| 69 | MOV.B #0, R12 |
| 70 | ; start of epilogue |
| 71 | .refsym __crt0_call_exit |
| 72 | ADD.W #2, R1 |
| 73 | RET |
| 74 | .size main, .-main |