Annotation of researchv10no/cmd/lcc/gen2/sparc-sun/tst/init.s, revision 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.