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

1.1       root        1: .seg "text"
                      2: .global _addpoint
                      3: .align 4
                      4: .proc 4
                      5: _addpoint:mov %fp,%g7; mov %sp,%fp
                      6: ld [%r8],%r13
                      7: ld [%r9],%r12
                      8: add %r13,%r12,%r13
                      9: st %r13,[%r8]
                     10: add %r8,4,%r13
                     11: ld [%r13],%r12
                     12: ld [%r9+4],%r11
                     13: add %r12,%r11,%r12
                     14: st %r12,[%r13]
                     15: ld [%fp+64],%r13
                     16: mov %r8,%r12
                     17: ld [%r12+0],%r1
                     18: ld [%r12+4],%r2
                     19: st %r1,[%r13+0]
                     20: st %r2,[%r13+4]
                     21: L1:
                     22: retl; mov %g7,%fp
                     23: .global _canonrect
                     24: .align 4
                     25: .proc 4
                     26: _canonrect:save %sp,-112,%sp
                     27: ld [%r24],%r27
                     28: ld [%r24+8],%r26
                     29: cmp %r27,%r26; bge L6; nop
                     30: ld [%r24],%r29
                     31: ba L7; nop
                     32: L6:
                     33: ld [%r24+8],%r29
                     34: L7:
                     35: st %r29,[%fp+-16]
                     36: ld [%r24+4],%r27
                     37: ld [%r24+12],%r26
                     38: cmp %r27,%r26; bge L10; nop
                     39: ld [%r24+4],%r28
                     40: ba L11; nop
                     41: L10:
                     42: ld [%r24+12],%r28
                     43: L11:
                     44: st %r28,[%fp+-12]
                     45: ld [%r24],%r28
                     46: ld [%r24+8],%r27
                     47: cmp %r28,%r27; ble L14; nop
                     48: ld [%r24],%r29
                     49: ba L15; nop
                     50: L14:
                     51: ld [%r24+8],%r29
                     52: L15:
                     53: st %r29,[%fp+-8]
                     54: ld [%r24+4],%r28
                     55: ld [%r24+12],%r27
                     56: cmp %r28,%r27; ble L19; nop
                     57: ld [%r24+4],%r29
                     58: ba L20; nop
                     59: L19:
                     60: ld [%r24+12],%r29
                     61: L20:
                     62: st %r29,[%fp+-4]
                     63: ld [%fp+64],%r29
                     64: add -16,%fp,%r28
                     65: ld [%r28+0],%r1
                     66: ld [%r28+4],%r2
                     67: st %r1,[%r29+0]
                     68: ld [%r28+8],%r1
                     69: st %r2,[%r29+4]
                     70: ld [%r28+12],%r2
                     71: st %r1,[%r29+8]
                     72: st %r2,[%r29+12]
                     73: L3:
                     74: ret; restore
                     75: .global _makepoint
                     76: .align 4
                     77: .proc 4
                     78: _makepoint:save %sp,-104,%sp
                     79: st %r24,[%fp+-8]
                     80: st %r25,[%fp+-4]
                     81: ld [%fp+64],%r29
                     82: add -8,%fp,%r28
                     83: ld [%r28+0],%r1
                     84: ld [%r28+4],%r2
                     85: st %r1,[%r29+0]
                     86: st %r2,[%r29+4]
                     87: L21:
                     88: ret; restore
                     89: .global _makerect
                     90: .align 4
                     91: .proc 4
                     92: _makerect:save %sp,-128,%sp
                     93: add -16,%fp,%r29
                     94: mov %r24,%r28
                     95: ld [%r28+0],%r1
                     96: ld [%r28+4],%r2
                     97: st %r1,[%r29+0]
                     98: st %r2,[%r29+4]
                     99: add -8,%fp,%r29
                    100: mov %r25,%r28
                    101: ld [%r28+0],%r1
                    102: ld [%r28+4],%r2
                    103: st %r1,[%r29+0]
                    104: st %r2,[%r29+4]
                    105: add -32,%fp,%r29
                    106: add -16,%fp,%r28
                    107: ld [%r28+0],%r1
                    108: ld [%r28+4],%r2
                    109: st %r1,[%r29+0]
                    110: ld [%r28+8],%r1
                    111: st %r2,[%r29+4]
                    112: ld [%r28+12],%r2
                    113: st %r1,[%r29+8]
                    114: st %r2,[%r29+12]
                    115: mov %r29,%r8
                    116: ld [%fp+64],%r29
                    117: call _canonrect; st %r29,[%sp+64]
                    118: L24:
                    119: ret; restore
                    120: .global _ptinrect
                    121: .align 4
                    122: .proc 4
                    123: _ptinrect:
                    124: ld [%r8],%r12
                    125: ld [%r9],%r11
                    126: cmp %r12,%r11; bl L31; nop
                    127: ld [%r9+8],%r11
                    128: cmp %r12,%r11; bge L31; nop
                    129: ld [%r8+4],%r12
                    130: ld [%r9+4],%r11
                    131: cmp %r12,%r11; bl L31; nop
                    132: ld [%r9+12],%r11
                    133: cmp %r12,%r11; bge L31; nop
                    134: set 1,%r13
                    135: ba L32; nop
                    136: L31:
                    137: mov %r0,%r13
                    138: L32:
                    139: mov %r13,%r8
                    140: L29:
                    141: retl; nop
                    142: .seg "text"
                    143: .align 4; L34:.word 0
                    144: .word 0
                    145: .align 4; L35:.word 320
                    146: .word 320
                    147: .align 4; L36:.word -1
                    148: .word -1
                    149: .word 1
                    150: .word 1
                    151: .word 20
                    152: .word 300
                    153: .word 500
                    154: .word 400
                    155: .seg "text"
                    156: .global _main
                    157: .align 4
                    158: .proc 4
                    159: _main:save %sp,-240,%sp
                    160: add -64,%fp,%r28
                    161: set L34,%r27
                    162: ld [%r27+0],%r1
                    163: ld [%r27+4],%r2
                    164: st %r1,[%r28+0]
                    165: st %r2,[%r28+4]
                    166: add -72,%fp,%r28
                    167: set L35,%r27
                    168: ld [%r27+0],%r1
                    169: ld [%r27+4],%r2
                    170: st %r1,[%r28+0]
                    171: st %r2,[%r28+4]
                    172: add -32,%fp,%r28
                    173: set L36,%r27
                    174: add %r27,32,%r27
                    175: add %r28,32,%r3
                    176: 1: dec 8,%r3
                    177: ld [%r27+-8],%r1
                    178: ld [%r27+-4],%r2
                    179: st %r1,[%r3+0]
                    180: st %r2,[%r3+4]
                    181: cmp %r3,%r28; bgt 1b; dec 8,%r27
                    182: set -10,%r28
                    183: mov %r28,%r8
                    184: mov %r28,%r9
                    185: add -80,%fp,%r28
                    186: call _makepoint; st %r28,[%sp+64]
                    187: add -88,%fp,%r28
                    188: add -72,%fp,%r27
                    189: ld [%r27+0],%r1
                    190: ld [%r27+4],%r2
                    191: st %r1,[%r28+0]
                    192: st %r2,[%r28+4]
                    193: mov %r28,%r8
                    194: add -80,%fp,%r9
                    195: add -96,%fp,%r28
                    196: call _addpoint; st %r28,[%sp+64]
                    197: set 10,%r28
                    198: mov %r28,%r8
                    199: mov %r28,%r9
                    200: add -104,%fp,%r28
                    201: call _makepoint; st %r28,[%sp+64]
                    202: add -112,%fp,%r28
                    203: add -64,%fp,%r27
                    204: ld [%r27+0],%r1
                    205: ld [%r27+4],%r2
                    206: st %r1,[%r28+0]
                    207: st %r2,[%r28+4]
                    208: mov %r28,%r8
                    209: add -104,%fp,%r9
                    210: add -120,%fp,%r28
                    211: call _addpoint; st %r28,[%sp+64]
                    212: add -96,%fp,%r8
                    213: add -120,%fp,%r9
                    214: add -48,%fp,%r28
                    215: call _makerect; st %r28,[%sp+64]
                    216: mov %r0,%r29
                    217: ba L47; nop
                    218: L44:
                    219: sll %r29,3,%r28
                    220: add -32,%fp,%r27
                    221: ld [%r28+%r27],%r8
                    222: add -28,%fp,%r27
                    223: ld [%r28+%r27],%r9
                    224: add -56,%fp,%r28
                    225: call _makepoint; st %r28,[%sp+64]
                    226: set L48,%r8
                    227: sll %r29,3,%r28
                    228: add -32,%fp,%r27
                    229: ld [%r28+%r27],%r9
                    230: ld [%fp+-52],%r10
                    231: call _printf; nop
                    232: add -128,%fp,%r28
                    233: add -56,%fp,%r27
                    234: ld [%r27+0],%r1
                    235: ld [%r27+4],%r2
                    236: st %r1,[%r28+0]
                    237: st %r2,[%r28+4]
                    238: mov %r28,%r8
                    239: add -144,%fp,%r28
                    240: add -48,%fp,%r27
                    241: ld [%r27+0],%r1
                    242: ld [%r27+4],%r2
                    243: st %r1,[%r28+0]
                    244: ld [%r27+8],%r1
                    245: st %r2,[%r28+4]
                    246: ld [%r27+12],%r2
                    247: st %r1,[%r28+8]
                    248: st %r2,[%r28+12]
                    249: mov %r28,%r9
                    250: call _ptinrect; nop
                    251: cmp %r8,%r0; bne L52; nop
                    252: set L56,%r8
                    253: call _printf; nop
                    254: L52:
                    255: set L57,%r8
                    256: ld [%fp+-48],%r9
                    257: ld [%fp+-44],%r10
                    258: ld [%fp+-40],%r11
                    259: ld [%fp+-36],%r12
                    260: call _printf; nop
                    261: L45:
                    262: add %r29,1,%r29
                    263: L47:
                    264: cmp %r29,4; blu L44; nop
                    265: mov %r0,%r8
                    266: call _exit; nop
                    267: L33:
                    268: ret; restore
                    269: .seg "text"
                    270: L57:.ascii "within [%d,%d; %d,%d]\012\000"
                    271: L56:.ascii "not \000"
                    272: L48:.ascii "(%d,%d) is \000"

unix.superglobalmegacorp.com

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