|
|
1.1 ! root 1: .seg "data" ! 2: .global _x ! 3: .align 4; _x:.word 1 ! 4: .byte 2 ! 5: .skip 3 ! 6: .byte 0 ! 7: .byte 52 ! 8: .skip 2 ! 9: .byte 10 ! 10: .byte 6 ! 11: .skip 2 ! 12: .global _i ! 13: .align 4; _i:.word 16 ! 14: .global _y ! 15: .align 4; _y:.byte 224 ! 16: .skip 3 ! 17: .byte 0 ! 18: .byte 0 ! 19: .byte 0 ! 20: .byte 9 ! 21: .seg "text" ! 22: .global _main ! 23: .align 4 ! 24: .proc 4 ! 25: _main:save %sp,-96,%sp ! 26: set L4,%r8 ! 27: set _x,%r29 ! 28: ld [%r29],%r9 ! 29: set _x+4,%r29 ! 30: ldsb [%r29],%r10 ! 31: set _x+8,%r29 ! 32: ld [%r29],%r29 ! 33: sra %r29,20,%r11 ! 34: set _x+8,%r29 ! 35: ld [%r29],%r29 ! 36: sll %r29,12,%r29 ! 37: sra %r29,28,%r12 ! 38: set _x+12,%r29 ! 39: ld [%r29],%r29 ! 40: sll %r29,4,%r29 ! 41: sra %r29,29,%r13 ! 42: set _x+13,%r29 ! 43: ldsb [%r29],%r29 ! 44: st %r29,[%sp+4*6+68] ! 45: call _printf; nop ! 46: set L10,%r8 ! 47: set _y,%r29 ! 48: ld [%r29],%r29 ! 49: srl %r29,30,%r9 ! 50: sll %r29,2,%r29 ! 51: srl %r29,28,%r10 ! 52: set _y+4,%r29 ! 53: ld [%r29],%r11 ! 54: call _printf; nop ! 55: set _x+8,%r29 ! 56: ld [%r29],%r28 ! 57: set 0xfff0ffff,%r27 ! 58: and %r28,%r27,%r28 ! 59: set _i,%r27 ! 60: ld [%r27],%r27 ! 61: sll %r27,28,%r27 ! 62: sra %r27,28,%r27 ! 63: sll %r27,16,%r27 ! 64: set 0xf0000,%r26 ! 65: and %r27,%r26,%r27 ! 66: or %r28,%r27,%r28 ! 67: st %r28,[%r29] ! 68: set _x+12,%r29 ! 69: ld [%r29],%r28 ! 70: set 0xf1ffffff,%r27 ! 71: and %r28,%r27,%r28 ! 72: st %r28,[%r29] ! 73: set L4,%r8 ! 74: set _x,%r29 ! 75: ld [%r29],%r9 ! 76: set _x+4,%r29 ! 77: ldsb [%r29],%r10 ! 78: set _x+8,%r29 ! 79: ld [%r29],%r29 ! 80: sra %r29,20,%r11 ! 81: set _x+8,%r29 ! 82: ld [%r29],%r29 ! 83: sll %r29,12,%r29 ! 84: sra %r29,28,%r12 ! 85: set _x+12,%r29 ! 86: ld [%r29],%r29 ! 87: sll %r29,4,%r29 ! 88: sra %r29,29,%r13 ! 89: set _x+13,%r29 ! 90: ldsb [%r29],%r29 ! 91: st %r29,[%sp+4*6+68] ! 92: call _printf; nop ! 93: set _y,%r29 ! 94: ld [%r29],%r28 ! 95: set 0x3fffffff,%r27 ! 96: and %r28,%r27,%r28 ! 97: set 0x80000000,%r27 ! 98: or %r28,%r27,%r28 ! 99: st %r28,[%r29] ! 100: set _i,%r29 ! 101: ld [%r29],%r29 ! 102: set _y+4,%r28 ! 103: st %r29,[%r28] ! 104: set L10,%r8 ! 105: set _y,%r29 ! 106: ld [%r29],%r29 ! 107: srl %r29,30,%r9 ! 108: sll %r29,2,%r29 ! 109: srl %r29,28,%r10 ! 110: set _y+4,%r29 ! 111: ld [%r29],%r11 ! 112: call _printf; nop ! 113: set _x,%r8 ! 114: call _f2; nop ! 115: L3: ! 116: ret; restore ! 117: .global _f1 ! 118: .align 4 ! 119: .proc 4 ! 120: _f1:save %sp,-96,%sp ! 121: ld [%r24],%r29 ! 122: set 0xc3ffffff,%r28 ! 123: and %r29,%r28,%r29 ! 124: st %r29,[%r24] ! 125: ld [%r24],%r29 ! 126: set 0x3fffffff,%r28 ! 127: and %r29,%r28,%r29 ! 128: and %r0,3,%r28 ! 129: sll %r28,30,%r28 ! 130: set 0xc0000000,%r27 ! 131: and %r28,%r27,%r28 ! 132: or %r29,%r28,%r29 ! 133: st %r29,[%r24] ! 134: ld [%r24],%r29 ! 135: set 0x3c000000,%r28 ! 136: and %r29,%r28,%r29 ! 137: cmp %r29,%r0; be L22; nop ! 138: set L24,%r8 ! 139: call _printf; nop ! 140: L22: ! 141: ld [%r24],%r29 ! 142: set 0xc0000000,%r28 ! 143: or %r29,%r28,%r29 ! 144: st %r29,[%r24] ! 145: ld [%r24],%r29 ! 146: set 0x3c000000,%r28 ! 147: or %r29,%r28,%r29 ! 148: st %r29,[%r24] ! 149: set L25,%r8 ! 150: ld [%r24],%r29 ! 151: srl %r29,30,%r9 ! 152: sll %r29,2,%r29 ! 153: srl %r29,28,%r10 ! 154: call _printf; nop ! 155: L21: ! 156: ret; restore ! 157: .global _f2 ! 158: .align 4 ! 159: .proc 4 ! 160: _f2:save %sp,-96,%sp ! 161: set _i,%r28 ! 162: ld [%r28],%r28 ! 163: cmp %r28,%r0; bne L28; nop ! 164: set 1,%r29 ! 165: ba L29; nop ! 166: L28: ! 167: mov %r0,%r29 ! 168: L29: ! 169: ld [%r24],%r28 ! 170: set 0x3fffffff,%r27 ! 171: and %r28,%r27,%r28 ! 172: and %r29,3,%r27 ! 173: sll %r27,30,%r27 ! 174: set 0xc0000000,%r26 ! 175: and %r27,%r26,%r27 ! 176: or %r28,%r27,%r28 ! 177: st %r28,[%r24] ! 178: mov %r24,%r8 ! 179: call _f1; nop ! 180: ld [%r24],%r29 ! 181: set 0xc3ffffff,%r28 ! 182: and %r29,%r28,%r29 ! 183: and %r0,15,%r28 ! 184: sll %r28,26,%r28 ! 185: set 0x3c000000,%r27 ! 186: and %r28,%r27,%r28 ! 187: or %r29,%r28,%r29 ! 188: st %r29,[%r24] ! 189: L26: ! 190: ret; restore ! 191: .seg "text" ! 192: L25:.ascii "p->a = 0x%x, p->b = 0x%x\012\000" ! 193: L24:.ascii "p->b != 0!\012\000" ! 194: L10:.ascii "y = %d %d %d\012\000" ! 195: L4:.ascii "x = %d %d %d %d %d %d\012\000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.