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

1.1       root        1: .seg "data"
                      2: .global _x
                      3: .align 4; _x:.word 1
                      4: .word 2
                      5: .word 3
                      6: .word 4
                      7: .seg "text"
                      8: .global _main
                      9: .align 4
                     10: .proc 4
                     11: _main:save %sp,-192,%sp
                     12: set L2,%r8
                     13: call _print; nop
                     14: set L3,%r8
                     15: set L4,%r9
                     16: call _print; nop
                     17: set L5,%r8
                     18: set 3,%r9
                     19: set 10,%r10
                     20: call _print; nop
                     21: set L6,%r8
                     22: set L7,%r9
                     23: set L8,%r10
                     24: set 4,%r11
                     25: set 10,%r12
                     26: call _print; nop
                     27: set L9,%r8
                     28: set L7,%r9
                     29: set L8,%r10
                     30: set L10,%r29
                     31: ld [%r29],%f30; ld [%r29+4],%f31
                     32: st %f30,[%sp+4*3+68]
                     33: st %f31,[%sp+4*4+68]
                     34: ld [%sp+4*3+68],%o3
                     35: ld [%sp+4*4+68],%o4
                     36: set 10,%r13
                     37: call _print; nop
                     38: set L11,%r8
                     39: add -16,%fp,%r29
                     40: set _x,%r28
                     41: ld [%r28+0],%r1
                     42: ld [%r28+4],%r2
                     43: st %r1,[%r29+0]
                     44: ld [%r28+8],%r1
                     45: st %r2,[%r29+4]
                     46: ld [%r28+12],%r2
                     47: st %r1,[%r29+8]
                     48: st %r2,[%r29+12]
                     49: mov %r29,%r9
                     50: add -32,%fp,%r29
                     51: ld [%r28+0],%r1
                     52: ld [%r28+4],%r2
                     53: st %r1,[%r29+0]
                     54: ld [%r28+8],%r1
                     55: st %r2,[%r29+4]
                     56: ld [%r28+12],%r2
                     57: st %r1,[%r29+8]
                     58: st %r2,[%r29+12]
                     59: mov %r29,%r10
                     60: add -48,%fp,%r29
                     61: ld [%r28+0],%r1
                     62: ld [%r28+4],%r2
                     63: st %r1,[%r29+0]
                     64: ld [%r28+8],%r1
                     65: st %r2,[%r29+4]
                     66: ld [%r28+12],%r2
                     67: st %r1,[%r29+8]
                     68: st %r2,[%r29+12]
                     69: mov %r29,%r11
                     70: add -64,%fp,%r29
                     71: ld [%r28+0],%r1
                     72: ld [%r28+4],%r2
                     73: st %r1,[%r29+0]
                     74: ld [%r28+8],%r1
                     75: st %r2,[%r29+4]
                     76: ld [%r28+12],%r2
                     77: st %r1,[%r29+8]
                     78: st %r2,[%r29+12]
                     79: mov %r29,%r12
                     80: add -80,%fp,%r29
                     81: ld [%r28+0],%r1
                     82: ld [%r28+4],%r2
                     83: st %r1,[%r29+0]
                     84: ld [%r28+8],%r1
                     85: st %r2,[%r29+4]
                     86: ld [%r28+12],%r2
                     87: st %r1,[%r29+8]
                     88: st %r2,[%r29+12]
                     89: mov %r29,%r13
                     90: add -96,%fp,%r29
                     91: ld [%r28+0],%r1
                     92: ld [%r28+4],%r2
                     93: st %r1,[%r29+0]
                     94: ld [%r28+8],%r1
                     95: st %r2,[%r29+4]
                     96: ld [%r28+12],%r2
                     97: st %r1,[%r29+8]
                     98: st %r2,[%r29+12]
                     99: st %r29,[%sp+4*6+68]
                    100: call _print; nop
                    101: L1:
                    102: ret; restore
                    103: .global _print
                    104: .align 4
                    105: .proc 4
                    106: _print:save %sp,-112,%sp
                    107: st %i1,[%fp+72]
                    108: st %i2,[%fp+76]
                    109: st %i3,[%fp+80]
                    110: st %i4,[%fp+84]
                    111: st %i5,[%fp+88]
                    112: st %r24,[%fp+68]
                    113: add 72,%fp,%r29
                    114: ba L24; nop
                    115: L21:
                    116: ld [%fp+68],%r28
                    117: ldsb [%r28],%r28
                    118: cmp %r28,37; bne L25; nop
                    119: ld [%fp+68],%r27
                    120: add %r27,1,%r27
                    121: st %r27,[%fp+68]
                    122: ldsb [%r27],%r28
                    123: cmp %r28,115; be L41; nop
                    124: cmp %r28,115; bg L45; nop
                    125: cmp %r28,98; bl L27; nop
                    126: cmp %r28,102; bg L27; nop
                    127: sll %r28,2,%r27
                    128: set L47-392,%r26
                    129: ld [%r27+%r26],%r27
                    130: jmp %r27; nop
                    131: L47:
                    132: .align 4; .word L30
                    133: .align 4; .word L35
                    134: .align 4; .word L37
                    135: .align 4; .word L27
                    136: .align 4; .word L43
                    137: L46:
                    138: L45:
                    139: cmp %r28,119; be L39; nop
                    140: ba L27; nop
                    141: L30:
                    142: add %r29,4,%r27
                    143: mov %r27,%r29
                    144: add -16,%fp,%r26
                    145: ld [%r27+-4],%r27
                    146: ld [%r27+0],%r1
                    147: ld [%r27+4],%r2
                    148: st %r1,[%r26+0]
                    149: ld [%r27+8],%r1
                    150: st %r2,[%r26+4]
                    151: ld [%r27+12],%r2
                    152: st %r1,[%r26+8]
                    153: st %r2,[%r26+12]
                    154: set L31,%r8
                    155: ld [%fp+-16],%r9
                    156: ld [%fp+-12],%r10
                    157: ld [%fp+-8],%r11
                    158: ld [%fp+-4],%r12
                    159: call _printf; nop
                    160: ba L26; nop
                    161: L35:
                    162: set L36,%r8
                    163: add %r29,4,%r27
                    164: mov %r27,%r29
                    165: ldsb [%r27+-1],%r9
                    166: call _printf; nop
                    167: ba L26; nop
                    168: L37:
                    169: set L38,%r8
                    170: add %r29,4,%r27
                    171: mov %r27,%r29
                    172: ld [%r27+-4],%r9
                    173: call _printf; nop
                    174: ba L26; nop
                    175: L39:
                    176: set L40,%r8
                    177: add %r29,4,%r27
                    178: mov %r27,%r29
                    179: ldsh [%r27+-2],%r9
                    180: call _printf; nop
                    181: ba L26; nop
                    182: L41:
                    183: set L42,%r8
                    184: add %r29,4,%r27
                    185: mov %r27,%r29
                    186: ld [%r27+-4],%r9
                    187: call _printf; nop
                    188: ba L26; nop
                    189: L43:
                    190: set L44,%r8
                    191: add %r29,8,%r27
                    192: mov %r27,%r29
                    193: ld [%r27+-8],%f30; ld [%r27+-8+4],%f31
                    194: st %f30,[%sp+4*1+68]
                    195: st %f31,[%sp+4*2+68]
                    196: ld [%sp+4*1+68],%o1
                    197: ld [%sp+4*2+68],%o2
                    198: call _printf; nop
                    199: ba L26; nop
                    200: L27:
                    201: set L36,%r8
                    202: ld [%fp+68],%r27
                    203: ldsb [%r27],%r9
                    204: call _printf; nop
                    205: ba L26; nop
                    206: L25:
                    207: set L36,%r8
                    208: ld [%fp+68],%r27
                    209: ldsb [%r27],%r9
                    210: call _printf; nop
                    211: L26:
                    212: L22:
                    213: ld [%fp+68],%r27
                    214: add %r27,1,%r27
                    215: st %r27,[%fp+68]
                    216: L24:
                    217: ld [%fp+68],%r27
                    218: ldsb [%r27],%r27
                    219: cmp %r27,%r0; bne L21; nop
                    220: L18:
                    221: ret; restore
                    222: .seg "text"
                    223: L44:.byte 37,102,0
                    224: L42:.byte 37,115,0
                    225: L40:.byte 37,120,0
                    226: L38:.byte 37,100,0
                    227: L36:.byte 37,99,0
                    228: L31:.ascii "{%d %d %d %d}\000"
                    229: L11:.ascii "%b %b %b %b %b %b\012\000"
                    230: .align 8; L10:.word 0x40140000,0x0
                    231: L9:.ascii "%s%s %f%c\000"
                    232: L8:.ascii "st\000"
                    233: L7:.ascii "te\000"
                    234: L6:.ascii "%s%s %w%c\000"
                    235: L5:.ascii "test %d%c\000"
                    236: L4:.byte 50,0
                    237: L3:.ascii "test %s\012\000"
                    238: L2:.ascii "test 1\012\000"

unix.superglobalmegacorp.com

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