Annotation of researchv10no/cmd/lcc/gen2/sparc-sun/tst/init.s, revision 1.1.1.1

1.1       root        1: .seg "data"
                      2: .global _words
                      3: .align 4; _words:.word 1
                      4: .word 2
                      5: .word 3
                      6: .ascii "if\000"
                      7: .skip 3
                      8: .skip 2
                      9: .word 4
                     10: .word 5
                     11: .skip 4
                     12: .ascii "for"
                     13: .skip 3
                     14: .skip 2
                     15: .word 6
                     16: .word 7
                     17: .word 8
                     18: .ascii "else\000"
                     19: .skip 1
                     20: .skip 2
                     21: .word 9
                     22: .word 10
                     23: .word 11
                     24: .ascii "whil"
                     25: .byte 101
                     26: .skip 1
                     27: .skip 2
                     28: .word 0
                     29: .skip 8
                     30: .skip 8
                     31: .global _wordlist
                     32: .align 4; _wordlist:.word _words
                     33: .global _x
                     34: .align 4; _x:.word 1
                     35: .word 2
                     36: .word 3
                     37: .word 4
                     38: .word 0
                     39: .word 5
                     40: .word 6
                     41: .skip 12
                     42: .word 7
                     43: .skip 16
                     44: .global _y
                     45: .align 4; _y:.word _x
                     46: .word _x+20
                     47: .word _x+40
                     48: .word 0x0
                     49: .seg "text"
                     50: .global _main
                     51: .align 4
                     52: .proc 4
                     53: _main:save %sp,-96,%sp
                     54: mov %r0,%r28
                     55: ba L8; nop
                     56: L5:
                     57: mov %r0,%r29
                     58: ba L12; nop
                     59: L9:
                     60: set L13,%r8
                     61: sll %r29,2,%r27
                     62: sll %r28,2,%r26
                     63: set _y,%r25
                     64: ld [%r26+%r25],%r26
                     65: ld [%r27+%r26],%r9
                     66: call _printf; nop
                     67: L10:
                     68: add %r29,1,%r29
                     69: L12:
                     70: sll %r29,2,%r27
                     71: sll %r28,2,%r26
                     72: set _y,%r25
                     73: ld [%r26+%r25],%r26
                     74: ld [%r27+%r26],%r27
                     75: cmp %r27,%r0; bne L9; nop
                     76: set L14,%r8
                     77: call _printf; nop
                     78: L6:
                     79: add %r28,1,%r28
                     80: L8:
                     81: sll %r28,2,%r27
                     82: set _y,%r26
                     83: ld [%r27+%r26],%r27
                     84: cmp %r27,%r0; bne L5; nop
                     85: call _f; nop
                     86: set _wordlist,%r27
                     87: ld [%r27],%r8
                     88: call _g; nop
                     89: mov %r0,%r24
                     90: L4:
                     91: ret; restore
                     92: .seg "data"
                     93: .align 4; _16:.word L17
                     94: .word L18
                     95: .word L19
                     96: .word L20
                     97: .word 0x0
                     98: .seg "text"
                     99: .global _f
                    100: .align 4
                    101: .proc 4
                    102: _f:save %sp,-96,%sp
                    103: set _16,%r29
                    104: ba L24; nop
                    105: L21:
                    106: set L25,%r8
                    107: ld [%r29],%r9
                    108: call _printf; nop
                    109: L22:
                    110: add %r29,4,%r29
                    111: L24:
                    112: ld [%r29],%r28
                    113: cmp %r28,%r0; bne L21; nop
                    114: L15:
                    115: ret; restore
                    116: .global _g
                    117: .align 4
                    118: .proc 4
                    119: _g:save %sp,-96,%sp
                    120: ba L30; nop
                    121: L27:
                    122: mov %r0,%r29
                    123: ba L34; nop
                    124: L31:
                    125: set L35,%r8
                    126: sll %r29,2,%r28
                    127: ld [%r28+%r24],%r9
                    128: call _printf; nop
                    129: L32:
                    130: add %r29,1,%r29
                    131: L34:
                    132: cmp %r29,3; blu L31; nop
                    133: set L25,%r8
                    134: add %r24,12,%r9
                    135: call _printf; nop
                    136: L28:
                    137: add %r24,20,%r24
                    138: L30:
                    139: ld [%r24],%r28
                    140: cmp %r28,%r0; bne L27; nop
                    141: call _h; nop
                    142: L26:
                    143: ret; restore
                    144: .global _h
                    145: .align 4
                    146: .proc 4
                    147: _h:save %sp,-96,%sp
                    148: mov %r0,%r29
                    149: ba L40; nop
                    150: L37:
                    151: set 20,%r28
                    152: mov %r29,%o1; call .mul,2; mov %r28,%o0; mov %o0,%r28
                    153: set L41,%r8
                    154: set _words,%r27
                    155: ld [%r28+%r27],%r9
                    156: set _words+4,%r27
                    157: ld [%r28+%r27],%r10
                    158: set _words+8,%r27
                    159: ld [%r28+%r27],%r11
                    160: set _words+12,%r27
                    161: add %r28,%r27,%r12
                    162: call _printf; nop
                    163: L38:
                    164: add %r29,1,%r29
                    165: L40:
                    166: cmp %r29,5; blu L37; nop
                    167: L36:
                    168: ret; restore
                    169: .seg "text"
                    170: L41:.ascii "%d %d %d %s\012\000"
                    171: L35:.ascii "%d \000"
                    172: L25:.byte 37,115,10,0
                    173: L20:.ascii "while\000"
                    174: L19:.ascii "else\000"
                    175: L18:.ascii "for\000"
                    176: L17:.ascii "if\000"
                    177: L14:.byte 10,0
                    178: L13:.ascii " %d\000"

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.