1 .data
2foodata: .word 42
3 .text
4footext:
5	.text
6	.global jmp
7jmp:
8	jmp 2
9	jmp 8192
10	jmp 4096
11	jmp 4094
12	jmp 2
13	jmp 2960
14	jmp 2128
15	jmp 2926
16	.text
17	.global call
18call:
19	call 4
20	call 8192
21	call 4096
22	call 4094
23	call 2
24	call 7384
25	call 7998
26	call 5074
27	.text
28	.global sb
29sb:
30	sb 1,1
31	sb 25,7
32	sb 25,4
33	sb 25,3
34	sb 1,1
35	sb 24,7
36	sb 16,1
37	sb 12,6
38	.text
39	.global snb
40snb:
41	snb 1,1
42	snb 11,7
43	snb 56,4
44	snb 25,3
45	snb 1,1
46	snb 41,5
47	snb 62,1
48	snb 43,1
49	.text
50	.global setb
51setb:
52	setb 1,1
53	setb 11,7
54	setb 56,4
55	setb 25,3
56	setb 1,1
57	setb 23,1
58	setb 25,6
59	setb 28,3
60	.text
61	.global clrb
62clrb:
63	clrb 1,1
64	clrb 11,7
65	clrb 56,4
66	clrb 25,3
67	clrb 1,1
68	clrb 36,7
69	clrb 15,3
70	clrb 18,5
71	.text
72	.global xorw_l
73xorw_l:
74	xor W,#0
75	xor W,#25
76	xor W,#12
77	xor W,#123
78	xor W,#1
79	xor W,#20
80	xor W,#122
81	xor W,#15
82	.text
83	.global andw_l
84andw_l:
85	and W,#0
86	and W,#25
87	and W,#12
88	and W,#12
89	and W,#1
90	and W,#18
91	and W,#29
92	and W,#14
93	.text
94	.global orw_l
95orw_l:
96	or W,#0
97	or W,#25
98	or W,#12
99	or W,#12
100	or W,#1
101	or W,#32
102	or W,#14
103	or W,#33
104	.text
105	.global addw_l
106addw_l:
107	add W,#0
108	add W,#25
109	add W,#12
110	add W,#12
111	add W,#1
112	add W,#21
113	add W,#24
114	add W,#47
115	.text
116	.global subw_l
117subw_l:
118	sub W,#0
119	sub W,#25
120	sub W,#212
121	sub W,#12
122	sub W,#1
123	sub W,#112
124	sub W,#84
125	sub W,#225
126	.text
127	.global cmpw_l
128cmpw_l:
129	cmp W,#0
130	cmp W,#25
131	cmp W,#12
132	cmp W,#12
133	cmp W,#1
134	cmp W,#11
135	cmp W,#13
136	cmp W,#19
137	.text
138	.global retw_l
139retw_l:
140	retw #0
141	retw #25
142	retw #122
143	retw #12
144	retw #1
145	retw #201
146	retw #14
147	retw #20
148	.text
149	.global csew_l
150csew_l:
151	cse W,#0
152	cse W,#25
153	cse W,#121
154	cse W,#122
155	cse W,#1
156	cse W,#12
157	cse W,#231
158	cse W,#21
159	.text
160	.global csnew_l
161csnew_l:
162	csne W,#0
163	csne W,#25
164	csne W,#122
165	csne W,#12
166	csne W,#1
167	csne W,#22
168	csne W,#112
169	csne W,#22
170	.text
171	.global push_l
172push_l:
173	push #0
174	push #25
175	push #112
176	push #12
177	push #1
178	push #18
179	push #15
180	push #122
181	.text
182	.global mulsw_l
183mulsw_l:
184	muls W,#0
185	muls W,#25
186	muls W,#12
187	muls W,#12
188	muls W,#1
189	muls W,#23
190	muls W,#21
191	muls W,#18
192	.text
193	.global muluw_l
194muluw_l:
195	mulu W,#0
196	mulu W,#25
197	mulu W,#12
198	mulu W,#12
199	mulu W,#1
200	mulu W,#15
201	mulu W,#21
202	mulu W,#23
203	.text
204	.global loadl_l
205loadl_l:
206	loadl #0
207	loadl #25
208	loadl #12
209	loadl #12
210	loadl #1
211	loadl #16
212	loadl #16
213	loadl #21
214	.text
215	.global loadh_l
216loadh_l:
217	loadh #0
218	loadh #25
219	loadh #12
220	loadh #12
221	loadh #1
222	loadh #17
223	loadh #24
224	loadh #24
225	.text
226	.global loadl_a
227loadl_a:
228	loadl 1
229	loadl 25
230	loadl 12
231	loadl 12
232	loadl 1
233	loadl 76
234	loadl 20
235	loadl 52
236	.text
237	.global loadh_a
238loadh_a:
239	loadh 1
240	loadh 25
241	loadh 12
242	loadh 12
243	loadh 1
244	loadh 57
245	loadh 56
246	loadh 59
247	.text
248	.global addcfr_w
249addcfr_w:
250	addc 1,W
251	addc 11,W
252	addc 56,W
253	addc 25,W
254	addc 100,W
255	addc 34,W
256	addc 50,W
257	addc 24,W
258	.text
259	.global addcw_fr
260addcw_fr:
261	addc W,1
262	addc W,11
263	addc W,26
264	addc W,25
265	addc W,10
266	addc W,27
267	addc W,111
268	addc W,22
269	.text
270	.global incsnz_fr
271incsnz_fr:
272	incsnz 3
273	incsnz 11
274	incsnz 56
275	incsnz 25
276	incsnz 1
277	incsnz 50
278	incsnz 37
279	incsnz 43
280	.text
281	.global incsnzw_fr
282incsnzw_fr:
283	incsnz W,1
284	incsnz W,11
285	incsnz W,26
286	incsnz W,25
287	incsnz W,1
288	incsnz W,33
289	incsnz W,29
290	incsnz W,24
291	.text
292	.global mulsw_fr
293mulsw_fr:
294	muls W,1
295	muls W,11
296	muls W,26
297	muls W,25
298	muls W,1
299	muls W,23
300	muls W,13
301	muls W,37
302	.text
303	.global muluw_fr
304muluw_fr:
305	mulu W,1
306	mulu W,11
307	mulu W,26
308	mulu W,25
309	mulu W,1
310	mulu W,21
311	mulu W,21
312	mulu W,34
313	.text
314	.global decsnz_fr
315decsnz_fr:
316	decsnz 1
317	decsnz 11
318	decsnz 56
319	decsnz 25
320	decsnz 1
321	decsnz 43
322	decsnz 6
323	decsnz 30
324	.text
325	.global decsnzw_fr
326decsnzw_fr:
327	decsnz W,1
328	decsnz W,11
329	decsnz W,26
330	decsnz W,25
331	decsnz W,1
332	decsnz W,24
333	decsnz W,58
334	decsnz W,20
335	.text
336	.global subcw_fr
337subcw_fr:
338	subc W,1
339	subc W,11
340	subc W,26
341	subc W,25
342	subc W,1
343	subc W,43
344	subc W,13
345	subc W,33
346	.text
347	.global subcfr_w
348subcfr_w:
349	subc 1,W
350	subc 11,W
351	subc 56,W
352	subc 25,W
353	subc 1,W
354	subc 15,W
355	subc 21,W
356	subc 43,W
357	.text
358	.global pop_fr
359pop_fr:
360	pop 1
361	pop 11
362	pop 56
363	pop 25
364	pop 1
365	pop 35
366	pop 10
367	pop 13
368	.text
369	.global push_fr
370push_fr:
371	push 1
372	push 11
373	push 56
374	push 25
375	push 1
376	push 26
377	push 13
378	push 13
379	.text
380	.global csew_fr
381csew_fr:
382	cse W,1
383	cse W,11
384	cse W,26
385	cse W,25
386	cse W,1
387	cse W,27
388	cse W,15
389	cse W,87
390	.text
391	.global csnew_fr
392csnew_fr:
393	csne W,2
394	csne W,11
395	csne W,26
396	csne W,25
397	csne W,1
398	csne W,39
399	csne W,17
400	csne W,43
401	.text
402	.global incsz_fr
403incsz_fr:
404	incsz 1
405	incsz 11
406	incsz 56
407	incsz 25
408	incsz 1
409	incsz 45
410	incsz 24
411	incsz 77
412	.text
413	.global incszw_fr
414incszw_fr:
415	incsz W,1
416	incsz W,11
417	incsz W,26
418	incsz W,25
419	incsz W,1
420	incsz W,77
421	incsz W,11
422	incsz W,98
423	.text
424	.global swap_fr
425swap_fr:
426	swap 1
427	swap 11
428	swap 56
429	swap 25
430	swap 2
431	swap 33
432	swap 24
433	swap 51
434	.text
435	.global swapw_fr
436swapw_fr:
437	swap W,1
438	swap W,11
439	swap W,26
440	swap W,25
441	swap W,1
442	swap W,43
443	swap W,32
444	swap W,17
445	.text
446	.global rl_fr
447rl_fr:
448	rl 2
449	rl 11
450	rl 56
451	rl 25
452	rl 1
453	rl 30
454	rl 34
455	rl 43
456	.text
457	.global rlw_fr
458rlw_fr:
459	rl W,2
460	rl W,11
461	rl W,26
462	rl W,25
463	rl W,1
464	rl W,14
465	rl W,24
466	rl W,27
467	.text
468	.global rr_fr
469rr_fr:
470	rr 1
471	rr 11
472	rr 56
473	rr 25
474	rr 1
475	rr 43
476	rr 25
477	rr 16
478	.text
479	.global rrw_fr
480rrw_fr:
481	rr W,1
482	rr W,11
483	rr W,26
484	rr W,25
485	rr W,1
486	rr W,16
487	rr W,72
488	rr W,17
489	.text
490	.global decsz_fr
491decsz_fr:
492	decsz 1
493	decsz 11
494	decsz 56
495	decsz 25
496	decsz 1
497	decsz 78
498	decsz 29
499	decsz 16
500	.text
501	.global decszw_fr
502decszw_fr:
503	decsz W,1
504	decsz W,11
505	decsz W,26
506	decsz W,25
507	decsz W,1
508	decsz W,26
509	decsz W,22
510	decsz W,4
511	.text
512	.global inc_fr
513inc_fr:
514	inc 1
515	inc 11
516	inc 56
517	inc 25
518	inc 1
519	inc 43
520	inc 43
521	inc 83
522	.text
523	.global incw_fr
524incw_fr:
525	inc W,1
526	inc W,11
527	inc W,26
528	inc W,25
529	inc W,1
530	inc W,43
531	inc W,30
532	inc W,33
533	.text
534	.global not_fr
535not_fr:
536	not 1
537	not 11
538	not 56
539	not 25
540	not 1
541	not 43
542	not 14
543	not 43
544	.text
545	.global notw_fr
546notw_fr:
547	not W,1
548	not W,11
549	not W,26
550	not W,25
551	not W,1
552	not W,84
553	not W,43
554	not W,50
555	.text
556	.global test_fr
557test_fr:
558	test 2
559	test 11
560	test 56
561	test 215
562	test 1
563	test 43
564	test 24
565	test 25
566	.text
567	.global movw_l
568movw_l:
569	mov W,#0
570	mov W,#25
571	mov W,#12
572	mov W,#12
573	mov W,#1
574	mov W,#14
575	mov W,#11
576	mov W,#66
577	.text
578	.global movfr_w
579movfr_w:
580	mov 1,W
581	mov 11,W
582	mov 56,W
583	mov 25,W
584	mov 1,W
585	mov 36,W
586	mov 86,W
587	mov 18,W
588	.text
589	.global movw_fr
590movw_fr:
591	mov W,1
592	mov W,11
593	mov W,26
594	mov W,25
595	mov W,1
596	mov W,12
597	mov W,43
598	mov W,23
599	.text
600	.global addfr_w
601addfr_w:
602	add 10,W
603	add 11,W
604	add 56,W
605	add 215,W
606	add 1,W
607	add 43,W
608	add 25,W
609	add 39,W
610	.text
611	.global addw_fr
612addw_fr:
613	add W,1
614	add W,11
615	add W,26
616	add W,25
617	add W,1
618	add W,19
619	add W,91
620	add W,25
621	.text
622	.global xorfr_w
623xorfr_w:
624	xor 1,W
625	xor 11,W
626	xor 56,W
627	xor 25,W
628	xor 2,W
629	xor 31,W
630	xor 22,W
631	xor 43,W
632	.text
633	.global xorw_fr
634xorw_fr:
635	xor W,2
636	xor W,11
637	xor W,26
638	xor W,25
639	xor W,1
640	xor W,14
641	xor W,10
642	xor W,21
643	.text
644	.global andfr_w
645andfr_w:
646	and 1,W
647	and 11,W
648	and 56,W
649	and 25,W
650	and 1,W
651	and 28,W
652	and 37,W
653	and 24,W
654	.text
655	.global andw_fr
656andw_fr:
657	and W,1
658	and W,11
659	and W,26
660	and W,25
661	and W,1
662	and W,21
663	and W,40
664	and W,43
665	.text
666	.global orfr_w
667orfr_w:
668	or 1,W
669	or 11,W
670	or 56,W
671	or 25,W
672	or 1,W
673	or 58,W
674	or 29,W
675	or 10,W
676	.text
677	.global orw_fr
678orw_fr:
679	or W,1
680	or W,11
681	or W,26
682	or W,25
683	or W,1
684	or W,11
685	or W,24
686	or W,59
687	.text
688	.global dec_fr
689dec_fr:
690	dec 2
691	dec 51
692	dec 26
693	dec 25
694	dec 1
695	dec 76
696	dec 32
697	dec 17
698	.text
699	.global decw_fr
700decw_fr:
701	dec W,2
702	dec W,51
703	dec W,56
704	dec W,25
705	dec W,1
706	dec W,1
707	dec W,68
708	dec W,7
709	.text
710	.global subfr_w
711subfr_w:
712	sub 2,W
713	sub 11,W
714	sub 15,W
715	sub 25,W
716	sub 1,W
717	sub 40,W
718	sub 55,W
719	sub 17,W
720	.text
721	.global subw_fr
722subw_fr:
723	sub W,1
724	sub W,21
725	sub W,25
726	sub W,25
727	sub W,1
728	sub W,17
729	sub W,16
730	sub W,18
731	.text
732	.global clr_fr
733clr_fr:
734	clr 10
735	clr 11
736	clr 25
737	clr 25
738	clr 1
739	clr 24
740	clr 215
741	clr 23
742	.text
743	.global cmpw_fr
744cmpw_fr:
745	cmp W,1
746	cmp W,21
747	cmp W,25
748	cmp W,25
749	cmp W,1
750	cmp W,18
751	cmp W,20
752	cmp W,16
753	.text
754	.global speed
755speed:
756	speed #0
757	speed #25
758	speed #12
759	speed #12
760	speed #1
761	speed #14
762	speed #18
763	speed #97
764	.text
765	.global ireadi
766ireadi:
767	ireadi
768	.text
769	.global iwritei
770iwritei:
771	iwritei
772	.text
773	.global fread
774fread:
775	fread
776	.text
777	.global fwrite
778fwrite:
779	fwrite
780	.text
781	.global iread
782iread:
783	iread
784	.text
785	.global iwrite
786iwrite:
787	iwrite
788	.text
789	.global page
790page:
791	page 2
792	page 8
793	page 14
794	page 10
795	page 12
796	page 0
797	page 4
798	page 6
799	.text
800	.global system
801system:
802	system
803	.text
804	.global reti
805reti:
806	reti #0
807	reti #1
808	reti #2
809	reti #3
810	reti #4
811	reti #5
812	reti #6
813	reti #7
814	.text
815	.global ret
816ret:
817	ret
818	.text
819	.global int
820int:
821	int
822	.text
823	.global breakx
824breakx:
825	breakx
826	.text
827	.global cwdt
828cwdt:
829	cwdt
830	.text
831	.global ferase
832ferase:
833	ferase
834	.text
835	.global retnp
836retnp:
837	retnp
838	.text
839	.global break
840break:
841	break
842	.text
843	.global nop
844nop:
845	nop
846