|
|
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"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.