|
|
1.1 root 1: #
2: # *reserved addressing modes event test
3: #
4: # R6 = PC that failed
5: # R0 = error code
6: # 1 - expected reserved addr mode fault didnot happen
7: # R1,R2 = opcodes of instruction should cause fault
8: # 2 - Error in PC pushed on the stack
9: # R1 = actual, R2 = expected
10: # 3 - Error in PSL pushed on the stack
11: # R1 = actual, R2 = expected
12: # 4 - Too many parameters pushed on the stack
13: #
14:
15: .globl _raddr_evt
16: _raddr_evt:
17: .word 0x1fff
18: mtpr $31,$IPL /* Set IPL to HIGH */
19: clrl _Icnt
20: movab (sp),_savvec0 /* Save currnet SP */
21: mtpr _savvec0,$ISP /* Set ISP = current SP */
22: movl _scb+RAVEC,_savvec2 /* Save reserved addr. mode vector */
23: movab radrmd,_scb+RAVEC /* Set new vector */
24: movl $-1,-(sp) /* Push marker on stack */
25: movab _pcb0,r1 /* Init PCBB */
26: mtpr r1,$PCBB
27: addl3 $16,_savvec0,_pcb0 /* Set PCB_KSP = SP + 16 */
28: movab resadr,r6 /* R6 = PC that failed */
29: movab table,r8 /* R8 = addr of object table */
30: trynext:
31: movl (r8),resadr
32: addl2 $4,r8
33: movl (r8),resadr+4
34: mtpr $0xff,$PACC /* Purge all code cache */
35: incl _Icnt
36: movpsl r7 /* R7 = saved PSL */
37: jmp resadr
38: .align 2
39: resadr: /* This is where inst. with reserved */
40: .byte 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10
41: /* addressing mode is stored and */
42: /* executed */
43: movl $1,r0 /* ERROR : No fault happen .. */
44: movl resadr,r1 /* R1+R2 = opcode and operands that */
45: movl resadr+4,r2 /* should cause fault . */
46: jmp *badrtn
47: #
48: # ************************************************
49: # Event handler for Reserved addressing mode fault
50: # ************************************************
51: #
52: .align 2
53: radrmd:
54: movl (sp)+,r1 /* R1 = actual PC pop from stack */
55: movab resadr,r2 /* R2 = expected PC */
56: cmpl r1,r2
57: beql 1f
58: movl $2,r0 /* Error : wrong PC on stack */
59: jmp *badrtn /* R1 = actual; R2 = expected */
60:
61: 1: movl (sp)+,r1 /* R1 = actual PSL pop from stack */
62: andl2 $0xffffffc0,r1 /* Mask out PSW flags */
63: andl3 $0xffffffc0,r7,r2 /* R2 = expected PSL */
64: cmpl r2,r1
65: beql 1f
66: movl $3,r0 /* Error : wrong PSL on stack */
67: jmp *badrtn /* R1 = actual; R2 = expected */
68: 1:
69: cmpl $-1,(sp) /* SP now should point at the marker */
70: beql 1f
71: movl $4,r0 /* Error : Too many parameters pushed on SP */
72: jmp *badrtn
73: 1:
74: addl2 $4,r8 /* Increment table ptr to next lgword */
75: movl (r8),r1
76: cmpl $0xffffffff,r1 /* Is this the last one ? */
77: beql 1f
78: brw trynext /* If not try again .. */
79: #
80: # All done; return to monitor
81: #
82: 1:
83: movl _savvec0,sp
84: movl _savvec2,_scb+RAVEC /* Restore reserved addr. mode vector */
85: ret
86: #
87: #
88: # WARNING: If reserved addressing change, so do the following table
89: #
90: .align 2
91: table:
92:
93: .byte 0x0d,0x5f,0x51,00,0x10,0x10,0x10,0x10 /* movl r15,r1 */
94: .byte 0x0d,0x51,0x5f,00,0x10,0x10,0x10,0x10 /* movl r1,r15 */
95: .byte 0x0d,0x5e,0x51,00,0x10,0x10,0x10,0x10 /* movl r14,r1 */
96: .byte 0xe9,0x55,0x51,00,0x10,0x10,0x10,0x10 /* movab r5,r1 */
97:
98:
99: .byte 0x0d,0x41,0x52,0x55,00,0x10,0x10,0x10 /* movl r2[r1],r5 */
100: .byte 0x0d,0x41,0x01,0x55,00,0x10,0x10,0x10 /* movl 1[r1],r5 */
101: .byte 0x0d,0x41,0x88,0x70,0x55,00,0x10,0x10 /* movl 0x88[r1],r5*/
102: .byte 0x0d,0x41,0x6e,0x55,00,0x10,0x10,0x10/* movl (r14)[r1],r5*/
103: .byte 0x0d,0x41,0x7e,0x55,00,0x10,0x10,0x10/* movl -(sp)[r1],r5*/
104: .byte 0x0d,0x41,0x8e,0x55,00,0x10,0x10,0x10/* movl (sp)+[r1],r5*/
105: .byte 0x0d,0x41,0xae,0x08,0x55,00,0x10,0x10 /* movl 1(sp)[r1],r5*/
106: .byte 0x0d,0x41,0xce,0x01,0x08,0x55,00,0x10 /* movl 0x101(sp),r5 */
107:
108: /* movl 0x00000108(sp),r5 */
109: .byte 0x0d,0x41,0xee,0x00,0x00,0x01,0x08,0x55
110:
111: .byte 0x5a,0x14,0x51,0x54,00,0x10,0x10,0x10/* shrq $0x14,r1,r4*/
112: .byte 0x4a,0x14,0x50,0x53,00,0x10,0x10,0x10/* shlq $0x14,r0,r3*/
113: .byte 0x0d,0x6f,0x50,00,0x10,0x10,0x10,0x10/* movl (r15),r0 */
114: .byte 0xe9,0x01,0x51,00,0x10,0x10,0x10,0x10/* movab $1,r1 */
115: .byte 0xe9,0x88,0x70,0x51,00,0x10,0x10,0x10/* movab $0x70,r1 */
116: .byte 0x0d,0x51,0x01,00,0x10,0x10,0x10,0x10/* movl r1,$1 */
117: .byte 0x0d,0x51,0x88,0x70,00,0x10,0x10,0x10/* movl r1,$0x70 */
118: .byte 0x0d,0x7e,0x55,00,0x10,0x10,0x10,0x10/* movl -(sp),r5 */
119: .byte 0xe9,0x7e,0x55,00,0x10,0x10,0x10,0x10/* movab -(sp),r5 */
120: .byte 0x0d,0x55,0x8e,00,0x10,0x10,0x10,0x10/* movl r5,(sp)+ */
121: .byte 0xe9,0x8e,0x55,00,0x10,0x10,0x10,0x10/* movab (sp)+,r5 */
122: .byte 0xfe,0x01,0x65,00,0x10,0x10,0x10,0x10/* callf $1,(r5) */
123: .byte 0xfe,0x88,0x70,0x65,00,0x10,0x10,0x10/* callf $0x70,(r5)*/
124: .byte 0xfe,0x55,0xaf,0x02,00,0x10,0x10,0x10/* callf r5,$02 */
125: .byte 0xfe,0x01,0x41,0xaf,0x01,00,0x10,0x10/* callf $1,$0x1[r1]*/
126: .byte 0x09,0x01,0x7e,00,0x10,0x10,0x10,0x10/* movb $1,-(sp) */
127: .byte 0x0b,0x01,0x7e,00,0x10,0x10,0x10,0x10/* movw $1,-(sp) */
128: .byte 0x09,0x8e,0x55,00,0x10,0x10,0x10,0x10/* movb (sp)+,r5 */
129: .byte 0x0b,0x8e,0x55,00,0x10,0x10,0x10,0x10/* movw (sp)+,r5 */
130:
131: /* The following are additions */
132:
133: .byte 0x71,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*jmp r1 */
134: .byte 0xf9,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*pushab r1 */
135: .byte 0xfd,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*pushal r1 */
136: .byte 0xfb,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*pushaw r1 */
137: .byte 0xf0,0x51,0x10,0x10,0x10,0x10,0x10,0x10 /*remque r1 */
138:
139: /* one operand instruction -- immidiate operand */
140:
141: .byte 0x49,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*clrb $0xabcdef40*/
142: .byte 0x4d,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*clrl */
143: .byte 0x4b,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*clrw */
144: .byte 0x79,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*decb */
145: .byte 0x7d,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*decl */
146: .byte 0x7b,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*decw */
147: .byte 0x69,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*incb */
148: .byte 0x6d,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*incl */
149: .byte 0x6b,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*incw */
150: .byte 0x71,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*jmp */
151: .byte 0xf9,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*pushab */
152: .byte 0xfd,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*pushal */
153: .byte 0xfb,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*pushaw */
154: .byte 0xf0,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*remque */
155: .byte 0xcd,0x8f,0xab,0xcd,0xef,0x40,0x10,0x10 /*movpsl */
156:
157: /* Two operand instructions -- 2nd operand = immidiate */
158:
159: .byte 0x8e,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10
160: /*adda r1,$0xabcdef40 */
161: .byte 0x08,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*addb2 */
162: .byte 0x0c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*addl2 */
163: .byte 0x0a,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*addw2 */
164: .byte 0x8d,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*adwc */
165: .byte 0xa8,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*andb2 */
166: .byte 0xac,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*andl2 */
167: .byte 0xaa,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*andw2 */
168: .byte 0x89,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtbl */
169: .byte 0x99,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtbw */
170: .byte 0x6f,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtlb */
171: .byte 0x7f,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtlw */
172: .byte 0x33,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtwb */
173: .byte 0x23,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*cvtwl */
174: .byte 0x6c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*divl2 */
175: .byte 0x6e,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*divl2u */
176: .byte 0xbe,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*ffc */
177: .byte 0xae,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*ffs */
178: .byte 0x29,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mcomb */
179: .byte 0x2d,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mcoml */
180: .byte 0x2b,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mcomw */
181: # .byte 0xbd,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mfpr */
182: .byte 0xe8,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mnegb */
183: .byte 0xec,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mnegl */
184: .byte 0xea,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mnegw */
185: .byte 0x68,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*modl2 */
186: .byte 0x6a,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*modl2u */
187: .byte 0x09,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movb */
188: .byte 0x0d,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movl */
189: .byte 0x0b,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movw */
190: .byte 0xa9,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movzbl */
191: .byte 0xb9,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movzbw */
192: .byte 0xc3,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*movzwl */
193: .byte 0x4c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*mull2 */
194: .byte 0x88,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*orb2 */
195: .byte 0x8c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*orl2 */
196: .byte 0x8a,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*orw2 */
197: .byte 0x9d,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*sbwc */
198: .byte 0xbb,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*storer */
199: .byte 0x9e,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*suba */
200: .byte 0x28,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*subb2 */
201: .byte 0x2c,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*subl2 */
202: .byte 0x2a,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*subw2 */
203: .byte 0xc8,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*xorb2 */
204: .byte 0xcc,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*xorl2 */
205: .byte 0xca,0x51,0x8f,0xab,0xcd,0xef,0x40,0x10 /*xorw2 */
206:
207: # Three operand instructions -- last oprnd = immediate
208:
209: .byte 0x18,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*addb3 r2,r1,imdiate*/
210: .byte 0x1c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*addl3 */
211: .byte 0x1a,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*addw3 */
212: .byte 0xb8,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*andb3 */
213: .byte 0xbc,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*andl3 */
214: .byte 0xba,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*andw3 */
215: .byte 0x7c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*divl3 */
216: #
217: # These opcodes are nolonger exist
218: #
219: # .byte 0x7e,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 divl3u
220: # .byte 0x78,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 modl3
221: # .byte 0x7a,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 modl3u
222: #
223: .byte 0x5c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*mull3 */
224: .byte 0x98,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orb3 */
225: .byte 0x9c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orl3 */
226: .byte 0x9a,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orw3 */
227: .byte 0xc0,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*prober */
228: .byte 0xd0,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*probew */
229: .byte 0x48,0x51,0x52,0x8f,0xab,0xcd,0xef,0x40 /*shll */
230: .byte 0x4a,0x51,0x52,0x8f,0xab,0xcd,0xef,0x40 /*shlq */
231: .byte 0x58,0x51,0x52,0x8f,0xab,0xcd,0xef,0x40 /*shrl */
232: .byte 0x5a,0x51,0x52,0x8f,0xab,0xcd,0xef,0x40 /*shrq */
233: .byte 0x38,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*subb3 */
234: .byte 0x3c,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*subl3 */
235: .byte 0x3a,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*subw3 */
236: .byte 0xd8,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orb3 */
237: .byte 0xdc,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orl3 */
238: .byte 0xda,0x52,0x51,0x8f,0xab,0xcd,0xef,0x40 /*orw3 */
239:
240: /* remaining instructions -- illegal operands */
241:
242: .byte 0xe0,0x50,0x9f,0x00,0x00,0x00,0x00,0x10
243: /*insque r0,*$testloc */
244: .byte 0xe0,0x10,0x9f,0x00,0x00,0x00,0x00,0x10
245: /*insque $0x10,*$testloc */
246: .byte 0xe0,0x9f,0x00,0x00,0x00,0x00,0x50,0x10
247: /*insque *$testloc,r0 */
248: .byte 0xe0,0x9f,0x00,0x00,0x00,0x00,0x10,0x10
249: /*insque *$testloc,0x10 */
250: .byte 0x5e,0x50,0x51,0x20,0x53,0x10,0x10,0x10
251: /*ediv r0,r1,$0x20,r3 */
252: # .byte 0x5e,0x50,0x51,0x52,0x20,0x10,0x10,0x10
253: /*ediv r0,r1,r2,$0x20 */
254: # .byte 0x4e,0x50,0x51,0x52,0x20,0x10,0x10,0x10
255: /*emul r0,r1,r2,$0x20 */
256: .byte 0xe9,0x50,0x9f,0x00,0x00,0x00,0x00,0x10
257: /*movab r0,*$testloc */
258: .byte 0xed,0x50,0x9f,0x00,0x00,0x00,0x00,0x10
259: /*moval r0,*$testloc */
260: .byte 0xeb,0x50,0x9f,0x00,0x00,0x00,0x00,0x10
261: /*movaw r0,*$testloc */
262: .byte 0xe9,0x10,0x9f,0x00,0x00,0x00,0x00,0x10
263: /*movab $0x10,*$testloc */
264: .byte 0xed,0x10,0x9f,0x00,0x00,0x00,0x00,0x10
265: /*moval $0x10,*$testloc */
266: .byte 0xeb,0x10,0x9f,0x00,0x00,0x00,0x00,0x10
267: /*movaw $0x10,*$testloc */
268: .byte 0xe9,0x9f,0x00,0x00,0x00,0x00,0x20,0x10
269: /*movab *$testloc,$0x20 */
270: .byte 0xed,0x9f,0x00,0x00,0x00,0x00,0x20,0x10
271: /*moval *$testloc,$0x20 */
272: .byte 0xeb,0x9f,0x00,0x00,0x00,0x00,0x20,0x10
273: /*movaw *$testloc,$0x20 */
274: .byte 0x3f,0x51,0x20,0x11,0x10,0x10,0x10,0x10
275: /*aobleq r1,$0x20,$0x11 */
276: .byte 0x2f,0x51,0x20,0x11,0x10,0x10,0x10,0x10
277: /*aoblss r1,$0x20,$0x11 */
278: .byte 0x1e,0x51,0x20,0x53,0x10,0x10,0x10,0x10
279: /*bbc r1,0x20,0x53 */
280: .byte 0x0e,0x51,0x20,0x53,0x10,0x10,0x10,0x10
281: /*bbs r1,0x20,0x53 */
282: .byte 0x5f,0x51,0x20,0x53,0x10,0x10,0x10,0x10
283: /*bbssi r1,0x20,0x53 */
284: .byte 0xc0,0x50,0x51,0x52,0x10,0x10,0x10,0x10
285: /*prober r0,r1,r2 */
286: .byte 0xd0,0x50,0x51,0x52,0x10,0x10,0x10,0x10
287: /*probew r0,r1,r2 */
288: .byte 0xbf,0x50,0x52,0x10,0x10,0x10,0x10,0x10
289: /*calls r0,r2 */
290: .byte 0xbf,0x20,0x20,0x10,0x10,0x10,0x10,0x10
291: /*calls $0x20,0x20 */
292:
293: /* callf instruction -- all modes illegal except */
294: /* The following : */
295: /* 1st operand = literal or immidiate byte */
296: /* 2nd operand = pc relative or absolute */
297: /* callf illegal operand,legal operand */
298:
299: .byte 0xfe,0x50,0x9f,0x00,0x00,0x00,0x01,0x10
300: /*callf r0, *$loc */
301: .byte 0xfe,0x60,0xaf,0x20,0x10,0x10,0x10,0x10
302: /*callf (r0),loc */
303: .byte 0xfe,0xa0,0x20,0xaf,0x20,0x10,0x10,0x10
304: .byte 0xfe,0xc0,0x00,0x20,0xaf,0x20,0x10,0x10
305: .byte 0xfe,0xe0,0x00,0x00,0x00,0x20,0xaf,0x20
306: .byte 0xfe,0xb0,0x20,0xaf,0x20,0x10,0x10,0x10
307: .byte 0xfe,0xd0,0x00,0x20,0xaf,0x20,0x10,0x10
308: .byte 0xfe,0xf0,0x00,0x00,0x00,0x20,0xaf,0x20
309: # .byte 0xfe,0x89,0x00,0x20,0xaf,0x20,0x10,0x10
310: # .byte 0xfe,0x8f,0x00,0x00,0x00,0x20,0xaf,0x20
311: .byte 0xfe,0xbf,0x20,0xaf,0x20,0x10,0x10,0x10
312: .byte 0xfe,0xdf,0x00,0x20,0xaf,0x20,0x10,0x10
313: .byte 0xfe,0xff,0x00,0x00,0x00,0x20,0xaf,0x20
314: .byte 0xfe,0xaf,0x20,0xaf,0x20,0x10,0x10,0x10
315: .byte 0xfe,0xcf,0x00,0x20,0xaf,0x20,0x10,0x10
316: .byte 0xfe,0xef,0x00,0x00,0x00,0x20,0xaf,0x20
317: .byte 0xfe,0x7e,0xaf,0x20,0x10,0x10,0x10,0x10
318: .byte 0xfe,0x8e,0xaf,0x20,0x10,0x10,0x10,0x10
319: .byte 0xfe,0x9e,0xaf,0x20,0x10,0x10,0x10,0x10
320: .byte 0xfe,0x9f,0x00,0x00,0x00,0x20,0xaf,0x20
321: .byte 0xfe,0x41,0xaf,0x01,0xaf,0x20,0x10,0x10
322:
323: /* callf legal operand,illegal operand */
324:
325: .byte 0xfe,0x10,0x50,0x10,0x10,0x10,0x10,0x10
326: /*callf $0x10,r0 */
327: .byte 0xfe,0x10,0x60,0x10,0x10,0x10,0x10,0x10
328: /*callf $0x10,(r0) */
329: .byte 0xfe,0x10,0xa0,0x20,0x10,0x10,0x10,0x10
330: .byte 0xfe,0x10,0xc0,0x00,0x20,0x10,0x10,0x10
331: .byte 0xfe,0x10,0xe0,0x00,0x00,0x00,0x20,0x10
332: .byte 0xfe,0x10,0xb0,0x20,0x10,0x10,0x10,0x10
333: .byte 0xfe,0x10,0xd0,0x00,0x20,0x10,0x10,0x10
334: .byte 0xfe,0x10,0xf0,0x00,0x00,0x00,0x20,0x10
335: .byte 0xfe,0x10,0x89,0x00,0x20,0x10,0x10,0x10
336: .byte 0xfe,0x10,0x8f,0x00,0x00,0x00,0x20,0x10
337: .byte 0xfe,0x10,0xbf,0x20,0x10,0x10,0x10,0x10
338: .byte 0xfe,0x10,0xdf,0x00,0x20,0x10,0x10,0x10
339: .byte 0xfe,0x10,0xff,0x00,0x00,0x00,0x20,0x10
340: .byte 0xfe,0x10,0x20,0x10,0x10,0x10,0x10,0x10
341: .byte 0xfe,0x10,0x88,0x20,0x10,0x10,0x10,0x10
342: .byte 0xfe,0x10,0x7e,0x10,0x10,0x10,0x10,0x10
343: .byte 0xfe,0x10,0x8e,0x10,0x10,0x10,0x10,0x10
344: .byte 0xfe,0x10,0x9e,0x10,0x10,0x10,0x10,0x10
345: .byte 0xfe,0x10,0x41,0xaf,0x01,0x10,0x10,0x10
346: .byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff /*end of table*/
347:
348: # These are taken out !!
349: # .byte 0x0d,0x41,0x9e,0x55,00,10,10,10 movl *(sp)+[r1],r5
350: # .byte 0x09,0x6e,0x55,00,10,10,10,10 movb (sp),r5
351: # .byte 0x0b,0x6e,0x55,00,10,10,10,10 movw (sp),r5
352: #
353:
354: .align 2
355: _Icnt: .long 0 /* Which instruction is testing .. */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.