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