|
|
1.1 root 1: .data
2: .globl _x
3: .align 2; _x:.long 1
4: .byte 2
5: .skip 1
6: .byte 0
7: .byte 52
8: .byte 10
9: .byte 6
10: .globl _i
11: .align 2; _i:.long 16
12: .globl _y
13: .align 2; _y:.byte 224
14: .skip 1
15: .byte 0
16: .byte 0
17: .byte 0
18: .byte 9
19: .text
20: .globl _main
21: .align 2
22: _main:link a6,#-40
23: moveml #0x1c,a6@(-12)
24: movl #L4,sp@
25: movl _x:l,sp@(4)
26: movb _x+4:l,d4
27: extbl d4
28: movl d4,sp@(8)
29: movl _x+6:l,d4
30: movl #20,d3
31: asrl d3,d4
32: movl d4,sp@(12)
33: movl _x+6:l,d4
34: movl #12,d3
35: asll d3,d4
36: movl #28,d3
37: asrl d3,d4
38: movl d4,sp@(16)
39: movl _x+8:l,d4
40: asll #4,d4
41: movl #29,d3
42: asrl d3,d4
43: movl d4,sp@(20)
44: movb _x+9:l,d4
45: extbl d4
46: movl d4,sp@(24)
47: jbsr _printf:l
48: movl #L10,sp@
49: movl _y:l,d4
50: movl #30,d3
51: movl d4,d2; lsrl d3,d2
52: movl d2,sp@(4)
53: lsll #2,d4
54: movl #28,d3
55: lsrl d3,d4
56: movl d4,sp@(8)
57: movl _y+2:l,sp@(12)
58: jbsr _printf:l
59: movl _x+6:l,d4
60: andl #0xfff0ffff,d4
61: movl _i:l,d3
62: movl #28,d2
63: asll d2,d3
64: asrl d2,d3
65: movl d3,d3
66: movl #16,d2
67: lsll d2,d3
68: andl #0xf0000,d3
69: orl d3,d4
70: movl d4,_x+6:l
71: movl _x+8:l,d4
72: andl #0xf1ffffff,d4
73: movl d4,_x+8:l
74: movl #L4,sp@
75: movl _x:l,sp@(4)
76: movb _x+4:l,d4
77: extbl d4
78: movl d4,sp@(8)
79: movl _x+6:l,d4
80: movl #20,d3
81: asrl d3,d4
82: movl d4,sp@(12)
83: movl _x+6:l,d4
84: movl #12,d3
85: asll d3,d4
86: movl #28,d3
87: asrl d3,d4
88: movl d4,sp@(16)
89: movl _x+8:l,d4
90: asll #4,d4
91: movl #29,d3
92: asrl d3,d4
93: movl d4,sp@(20)
94: movb _x+9:l,d4
95: extbl d4
96: movl d4,sp@(24)
97: jbsr _printf:l
98: movl _y:l,d4
99: andl #0x3fffffff,d4
100: orl #0x80000000,d4
101: movl d4,_y:l
102: movl _i:l,_y+2:l
103: movl #L10,sp@
104: movl _y:l,d4
105: movl #30,d3
106: movl d4,d2; lsrl d3,d2
107: movl d2,sp@(4)
108: lsll #2,d4
109: movl #28,d3
110: lsrl d3,d4
111: movl d4,sp@(8)
112: movl _y+2:l,sp@(12)
113: jbsr _printf:l
114: movl #_x,sp@
115: jbsr _f2:l
116: L3:
117: moveml a6@(-12),#0x1c
118: unlk a6
119: rts
120: .globl _f1
121: .align 2
122: _f1:link a6,#-28
123: moveml #0x201c,a6@(-16)
124: movl a6@(8),a5
125: movl a5@,d4
126: andl #0xc3ffffff,d4
127: movl d4,a5@
128: movl a5@,d4
129: andl #0x3fffffff,d4
130: clrl d3
131: andl #3,d3
132: movl #30,d2
133: lsll d2,d3
134: andl #0xc0000000,d3
135: orl d3,d4
136: movl d4,a5@
137: movl a5@,d4
138: andl #0x3c000000,d4
139: tstl d4; jeq L22
140: movl #L24,sp@
141: jbsr _printf:l
142: L22:
143: movl a5@,d4
144: orl #0xc0000000,d4
145: movl d4,a5@
146: movl a5@,d4
147: orl #0x3c000000,d4
148: movl d4,a5@
149: movl #L25,sp@
150: movl a5@,d4
151: movl #30,d3
152: movl d4,d2; lsrl d3,d2
153: movl d2,sp@(4)
154: lsll #2,d4
155: movl #28,d3
156: lsrl d3,d4
157: movl d4,sp@(8)
158: jbsr _printf:l
159: L21:
160: moveml a6@(-16),#0x201c
161: unlk a6
162: rts
163: .globl _f2
164: .align 2
165: _f2:link a6,#-24
166: moveml #0x209c,a6@(-20)
167: movl a6@(8),a5
168: tstl _i:l; jne L28
169: movl #1,d7
170: jra L29
171: L28:
172: clrl d7
173: L29:
174: movl a5@,d4
175: andl #0x3fffffff,d4
176: movl d7,d3; andl #3,d3
177: movl #30,d2
178: lsll d2,d3
179: andl #0xc0000000,d3
180: orl d3,d4
181: movl d4,a5@
182: movl a5,sp@
183: jbsr _f1:l
184: movl a5@,d4
185: andl #0xc3ffffff,d4
186: clrl d3
187: andl #15,d3
188: movl #26,d2
189: lsll d2,d3
190: andl #0x3c000000,d3
191: orl d3,d4
192: movl d4,a5@
193: L26:
194: moveml a6@(-20),#0x209c
195: unlk a6
196: rts
197: .text
198: .align 2; L25:.ascii "p->a = 0x%x, p->b = 0x%x\012\000"
199: .align 2; L24:.ascii "p->b != 0!\012\000"
200: .align 2; L10:.ascii "y = %d %d %d\012\000"
201: .align 2; 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.