Pristine Ack-5.5
[Ack-5.5.git] / emtest / tests
1 TEST 000: empty
2 MAIN 0
3 TEST 001: OK
4 MAIN 0
5 OK
6 TEST 002: test loc, bne
7 MAIN 0
8  loc 0
9  loc 0
10  bne *1
11 OK
12  loc 1
13  loc 1
14  bne *1
15 OK
16  loc -1
17  loc -1
18  bne *1
19 OK
20  loc 127
21  loc 127
22  bne *1
23 OK
24  loc -127
25  loc -127
26  bne *1
27 OK
28  loc -128
29  loc -128
30  bne *1
31 OK
32 #if WS > 1
33  loc 255
34  loc 255
35  bne *1
36 OK
37  loc 256
38  loc 256
39  bne *1
40 OK
41  loc 257
42  loc 257
43  bne *1
44 OK
45  loc 32767
46  loc 32767
47  bne *1
48 OK
49  loc -32767
50  loc -32767
51  bne *1
52 OK
53  loc -32768
54  loc -32768
55  bne *1
56 OK
57 #endif /* WS > 1 */
58 #if WS > 2
59  loc 65535
60  loc 65535
61  bne *1
62 OK
63  loc 65536
64  loc 65536
65  bne *1
66 OK
67  loc 65537
68  loc 65537
69  bne *1
70 OK
71  loc 2147483647
72  loc 2147483647
73  bne *1
74 OK
75  loc -2147483647
76  loc -2147483647
77  bne *1
78 OK
79  loc -2147483648
80  loc -2147483648
81  bne *1
82 OK
83 #endif /* WS > 2 */
84 TEST 003: test signed and unsigned loc
85 MAIN 0
86 #if WS == 1
87  loc 128
88  loc -128
89  bne *1
90 OK
91  loc 129
92  loc -127
93  bne *1
94 OK
95  loc 255
96  loc -1
97  bne *1
98 OK
99 #endif
100 #if WS == 2
101  loc 32768
102  loc -32768
103  bne *1
104 OK
105  loc 32769
106  loc -32767
107  bne *1
108 OK
109  loc 65535
110  loc -1
111  bne *1
112 OK
113 #endif
114 #if WS == 4
115  loc 2147483648
116  loc -2147483648
117  bne *1
118 OK
119  loc 2147483649
120  loc -2147483647
121  bne *1
122 OK
123  loc 4294967295
124  loc -1
125  bne *1
126 OK
127 #endif
128 TEST 004: test lol, stl, del, inl, zrl
129 MAIN 8
130  loc 95
131  stl -4
132  lol -4
133  loc 95
134  bne *1
135 OK
136  lol 0
137  stl -4
138  loc 125
139  stl -8
140  loc 125
141  lol -8
142  bne *1
143 OK
144  lol 0
145  lol -4
146  bne *1
147 OK
148  zrl -4
149  lol -4
150  loc 0
151  bne *1
152 OK
153  inl -4
154  lol -4
155  loc 1
156  bne *1
157  loc -1
158  stl -4
159  inl -4
160  lol -4
161  loc 0
162  bne *1
163 OK
164  del -4
165  lol -4
166  loc -1
167  bne *1
168  loc 1
169  stl -4
170  del -4
171  lol -4
172  loc 0
173  bne *1
174 OK
175 TEST 005: test loe, ste, zre, ine, dee
176 HOL 8
177 MAIN 0
178  loc 95
179  ste WS
180  loe WS
181  loc 95
182  bne *1
183 OK
184  loc 125
185  ste 0
186  loc 125
187  loe 0
188  bne *1
189 OK
190  loc 95
191  ste 0
192  loe WS
193  loe 0
194  bne *1
195 OK
196  zre WS
197  loe WS
198  loc 0
199  bne *1
200 OK
201  ine WS
202  loe WS
203  loc 1
204  bne *1
205  loc -1
206  ste WS
207  ine WS
208  loe WS
209  loc 0
210  bne *1
211 OK
212  dee WS
213  loe WS
214  loc -1
215  bne *1
216  loc 1
217  ste WS
218  dee WS
219  loe WS
220  loc 0
221  bne *1
222 OK
223 TEST 006: test named global data: con, rom, bss
224 a006
225  bss 4,0,0
226 b006
227  con 35
228 c006
229  bss 4,0,1
230 d006
231  bss 4,35,1
232 e006
233  rom 57
234 MAIN 0
235  loc 0
236  loe c006
237  bne *1
238 OK
239  loe b006
240  ste a006
241  loe d006
242  loe a006
243  bne *1
244 OK
245  loe e006
246  ste b006
247  loc 57
248  loe b006
249  bne *1
250 OK
251 TEST 007: test lal, lil
252 MAIN 12
253  lal -8
254 #if WS == PS
255  stl -4
256 #endif
257 #if WS*2 == PS
258  sdl -4
259 #endif
260  loc 117
261  stl -8
262  lil -4
263  loc 117
264  bne *1
265 OK
266 TEST 008: test sil
267 MAIN 12
268  loc 29
269  stl -8
270  lal -8
271 #if WS == PS
272  stl -4
273 #endif
274 #if WS*2 == PS
275  sdl -4
276 #endif
277  loc 110
278  sil -4
279  lol -8
280  loc 110
281  bne *1
282 OK
283 TEST 009: test lof
284 MAIN 20
285  lal -16
286  loc 120
287  stl -12
288  lof 4
289  loc 120
290  bne *1
291 OK
292 TEST 010: test stf
293 MAIN 20
294  loc 180
295  lal -16
296  stf 8
297  lol -8
298  loc 180
299  bne *1
300 OK
301 TEST 011: test loi WS
302 MAIN 20
303  loc 140
304  stl -12
305  lal -12
306  loi WS
307  loc 140
308  bne *1
309 OK
310 TEST 012: test loi 1, sti 1
311 MAIN 20
312 #if WS > 1
313  loc 519
314  lal -10
315  sti 1
316  lal -10
317  loi 1
318  loc 7
319  bne *1
320  loc 129
321  lal -10
322  sti 1
323  lal -10
324  loi 1
325  loc 9
326  ble *1
327 OK
328 #endif
329 TEST 013: test loi 2*WS
330 MAIN 20
331  loc 77
332  stl -12
333  loc 119
334  stl -12+WS
335  lal -12
336  loi 2*WS
337  loc 77
338  bne *1
339  loc 119
340  bne *1
341 OK
342 TEST 014: test loi 4*WS
343 MAIN 20
344  loc 150
345  stl -16+(3*WS)
346  loc 152
347  stl -16+(2*WS)
348  loc 154
349  stl -16+WS
350  loc 156
351  stl -16
352  lal -16
353  loi 4*WS
354  loc 156
355  bne *1
356  loc 154
357  bne *1
358  loc 152
359  bne *1
360  loc 150
361  bne *1
362 OK
363 TEST 015: test los WS with 1 
364 MAIN 20
365  loc 7
366  lal -10
367  sti 1
368  lal -10
369  loc 1
370  los WS
371  loc 7
372  bne *1
373 OK
374 TEST 016: test los WS with 2 
375 MAIN 20
376 #if WS == 1
377  loc 77
378  loc 78
379  stl -12
380  stl -11
381  lal -12
382  loc 2
383  los WS
384  loc 78
385  bne *1
386  loc 77
387  bne *1
388 #endif
389 #if WS > 1
390  loc 777
391  lal -12
392  sti 2
393  lal -12
394  loc 2
395  los WS
396  loc 777
397  bne *1
398 #endif
399 OK
400 TEST 017: test los WS with 4 
401 MAIN 20
402 #if WS == 1
403  loc 14
404  loc 15
405  loc 16
406  loc 17
407  lal -12
408  sti 4
409  lal -12
410  loc 4
411  los WS
412  loc 17
413  bne *1
414  loc 16
415  bne *1
416  loc 15
417  bne *1
418  loc 14
419  bne *1
420 #endif
421 #if WS == 2
422  loc 3001
423  loc 3002
424  stl -12
425  stl -10
426  lal -12
427  loc 4
428  los WS
429  loc 3002
430  bne *1
431  loc 3001
432  bne *1
433 #endif
434 #if WS > 2
435  loc 123001
436  stl -12
437  lal -12
438  loc 4
439  los WS
440  loc 123001
441  bne *1
442 #endif
443 OK
444 TEST 018: test ldl
445 MAIN 20
446  loc 77
447  stl -12
448  loc 123
449  stl -12+WS
450  ldl -12
451  loc 77
452  bne *1
453  loc 123
454  bne *1
455 OK
456 TEST 019: test lde
457 HOL 20
458 MAIN 0
459  loc 70
460  ste 12
461  loc 71
462  ste 12+WS
463  lde 12
464  loc 70
465  bne *1
466  loc 71
467  bne *1
468 OK
469 TEST 020: test ldf
470 MAIN 20
471  loc 123
472  loc 77
473  sdl -8
474  lal -13
475  ldf 5
476  loc 77
477  bne *1
478  loc 123
479  bne *1
480 OK
481 TEST 021: test ldf
482 MAIN 20
483  loc 75
484  stl -12
485  loc 77
486  stl -12+WS
487  lal -20
488  ldf 8
489  loc 75
490  bne *1
491  loc 77
492  bne *1
493 OK
494 TEST 022: test sdl
495 MAIN 20
496  loc 30
497  loc 31
498  sdl -12
499  lol -12+WS
500  loc 30
501  bne *1
502  lol -12
503  loc 31
504  bne *1
505 OK
506 TEST 023: test sde
507 HOL 24
508 MAIN 0
509  loc 40
510  loc 41
511  sde 16
512  loe 16
513  loc 41
514  bne *1
515  loe 16+WS
516  loc 40
517  bne *1
518 OK
519 TEST 024: test sdf
520 HOL 24
521 MAIN 0
522  loc 51
523  loc 50
524  lae 6
525  sdf 10
526  loe 16
527  loc 50
528  bne *1
529  loc 51
530  loe 16+WS
531  bne *1
532 OK
533 TEST 025: test sti 1
534 MAIN 20
535  loc 4136
536  lal -11
537  sti 1
538  loc 1034
539  lal -10
540  sti 1
541  lal -10
542  loi 1
543  loc 10
544  bne *1
545  lal -11
546  loi 1
547  loc 40
548  bne *1
549 OK
550 TEST 026: test sti 1 and lol
551 MAIN 20
552  loc 257
553  stl -12+WS
554  loc 514
555  stl -12-WS
556  loc 50
557  lal -12
558  sti 1
559 #if WS > 1
560  loc -50
561  lal -11
562  sti 1
563 #endif
564 #if WS > 2
565  loc 49
566  lal -10
567  sti 1
568  loc -49
569  lal -9
570  sti 1
571 #endif
572  loc 257
573  lol -12+WS
574  bne *1
575  loc 514
576  lol -12-WS
577  bne *1
578 OK
579 TEST 027: test sti 2
580 MAIN 20
581 #if WS == 1
582  ldc 90
583 #else
584  loc 90
585 #endif
586  lal -12
587  sti 2
588 #if WS != 2
589  lal -12
590  loi 2
591 #else
592  lol -12
593 #endif
594 #if WS == 1
595  ldc 90
596 #else
597  loc 90
598 #endif
599  bne *1
600 OK
601 TEST 028: test sti 4
602 MAIN 20
603 #if WS == 1
604  loc 100
605  loc 101
606 #endif
607 #if WS <= 2
608  loc 102
609 #endif
610  loc 103
611  lal -16
612  sti 4
613  lol -16
614  loc 103
615  bne *1
616 OK
617 TEST 029: test sts WS with 1
618 MAIN 20
619  loc 57
620  lal -13
621  sti 1
622  loc 123
623  lal -11
624  sti 1
625  loc 20
626  lal -12
627  loc 1
628  sts WS
629  lal -12
630  loi 1
631  loc 20
632  bne *1
633  lal -11
634  loi 1
635  loc 123
636  bne *1
637  lal -13
638  loi 1
639  loc 57
640  bne *1
641 OK
642 TEST 030: test sts WS with WS
643 MAIN 20
644  loc 210
645  lal -12
646  loc WS
647  sts WS
648  lol -12
649  loc 210
650  bne *1
651 OK
652 TEST 031: test sts WS with 4
653 MAIN 20
654 #if WS == 1
655  loc 100
656  loc 101
657 #endif
658 #if WS <= 2
659  loc 102
660 #endif
661  loc 103
662  lal -16
663  loc 4
664  sts WS
665  lol -16
666  loc 103
667  bne *1
668 OK
669 TEST 032: test adi WS
670 MAIN 0
671  loc 1
672  loc 1
673  adi WS
674  loc 2
675  bne *1
676 OK
677  loc 5
678  loc -6
679  adi WS
680  loc -1
681  bne *1
682 OK
683 #if WS >= 2
684  loc -1007
685  loc +999
686  adi WS
687  loc -8
688  bne *1
689 OK
690  loc -1300
691  loc +1405
692  adi WS
693  loc 105
694  bne *1
695 OK
696  loc -30000
697  loc -20
698  adi WS
699  loc -30020
700  bne *1
701 OK
702 #endif
703 #if WS >= 4
704  loc -100007
705  loc +99999
706  adi WS
707  loc -8
708  bne *1
709 OK
710  loc -1300
711  loc +140567
712  adi WS
713  loc 139267
714  bne *1
715 OK
716  loc -30000000
717  loc -20
718  adi WS
719  loc -30000020
720  bne *1
721 OK
722 #endif
723 TEST 033: test sbi WS
724 MAIN 0
725  loc 1
726  loc 1
727  sbi WS
728  loc 0
729  bne *1
730 OK
731  loc 5
732  loc -6
733  sbi WS
734  loc +11
735  bne *1
736 OK
737 #if WS >= 2
738  loc -1007
739  loc +999
740  sbi WS
741  loc -2006
742  bne *1
743 OK
744  loc -1300
745  loc +1405
746  sbi WS
747  loc -2705
748  bne *1
749 OK
750  loc -30000
751  loc -20
752  sbi WS
753  loc -29980
754  bne *1
755 OK
756 #endif
757 #if WS >= 4
758  loc -100007
759  loc +99999
760  sbi WS
761  loc -200006
762  bne *1
763 OK
764  loc -1300
765  loc +140567
766  sbi WS
767  loc -141867
768  bne *1
769 OK
770  loc -30000000
771  loc -20
772  sbi WS
773  loc -29999980
774  bne *1
775 OK
776 #endif
777 TEST 034: test mli WS
778 MAIN 0
779  loc 5
780  loc 9
781  mli WS
782  loc 45
783  bne *1
784 OK
785  loc 0
786  loc 10
787  mli WS
788  loc 0
789  bne *1
790 OK
791 #if WS > 1
792  loc -99
793  loc 7
794  mli WS
795  loc -693
796  bne *1
797 OK
798  loc -100
799  loc -90
800  mli WS
801  loc 9000
802  bne *1
803 OK
804 #endif
805 #if WS > 2
806  loc 123456
807  loc 200
808  mli WS
809  loc 24691200
810  bne *1
811 OK
812 #endif
813 TEST 035: test dvi WS
814 MAIN 0
815  loc 15
816  loc 5
817  dvi WS
818  loc 3
819  bne *1
820 OK
821  loc 100
822  loc -7
823  dvi WS
824  loc -14
825  bne *1
826 OK
827  loc -100
828  loc 7
829  dvi WS
830  loc -14
831  bne *1
832 OK
833 #if WS >= 2
834  loc -1000
835  loc -201
836  dvi WS
837  loc 4
838  bne *1
839 OK
840 #endif
841 #if WS >= 4
842  loc 1234567
843  loc -100
844  dvi WS
845  loc -12345
846  bne *1
847 OK
848 #endif
849 TEST 036: test rmi WS
850 MAIN 0
851  loc 100
852  loc 7
853  rmi WS
854  loc 2
855  bne *1
856 OK
857  loc -100
858  loc 7
859  rmi WS
860  loc -2
861  bne *1
862 OK
863  loc 100
864  loc -7
865  rmi WS
866  loc 2
867  bne *1
868 OK
869  loc -100
870  loc -7
871  rmi WS
872  loc -2
873  bne *1
874 OK
875 #if WS >= 2
876  loc -1000
877  loc -201
878  rmi WS
879  loc -196
880  bne *1
881 OK
882 #endif
883 #if WS >= 4
884  loc 1234567
885  loc -100
886  rmi WS
887  loc 67
888  bne *1
889 OK
890 #endif
891 TEST 037: test ngi WS
892 MAIN 0
893  loc 100
894  ngi WS
895  loc -100
896  bne *1
897 OK
898  loc -100
899  ngi WS
900  loc 100
901  bne *1
902 OK
903 TEST 038: test sli,slu WS
904 MAIN 0
905  loc 5
906  loc 3
907  sli WS
908  loc 40
909  bne *1
910 OK
911  loc -2
912  loc 4
913  sli WS
914  loc -32
915  bne *1
916 OK
917  loc 5
918  loc 3
919  slu WS
920  loc 40
921  bne *1
922 OK
923  loc -2
924  loc 4
925  slu WS
926  loc -32
927  bne *1
928 OK
929 TEST 039: test sri,sru WS
930 MAIN 0
931  loc 64
932  loc 5
933  sri WS
934  loc 2
935  bne *1
936 OK
937  loc -3
938  loc 2
939  sri WS
940  loc -1
941  bne *1
942 OK
943  loc -16
944  loc 3
945  sri WS
946  loc -2
947  bne *1
948 OK
949  loc 64
950  loc 5
951  sru WS
952  loc 2
953  bne *1
954 OK
955  loc -3
956  loc 2
957  sru WS
958 #if WS == 1
959  loc 63
960 #endif
961 #if WS == 2
962  loc 16383
963 #endif
964 #if WS == 4
965  loc 1073741823
966 #endif
967  bne *1
968 OK
969 TEST 040: test rol WS
970 MAIN 0
971  loc 1
972  loc 3
973  rol WS
974  loc 8
975  bne *1
976 OK
977 #if WS > 1
978  loc 16384
979  loc WS * 8 - 1
980  rol WS
981  loc 8192
982  bne *1
983 OK
984  loc -2
985  loc WS * 8 - 1
986  rol WS
987 #if WS == 2
988  loc 32767
989 #endif
990 #if WS == 4
991   loc 2147483647
992 #endif
993  bne *1
994 OK
995  loc -28671
996  loc 0
997  rol WS
998  loc -28671
999  bne *1
1000 OK
1001 #endif
1002 TEST 041: test ror WS
1003 MAIN 0
1004  loc 4
1005  loc 5
1006  ror WS
1007 #if WS == 1
1008  loc 32
1009 #endif
1010 #if WS == 2
1011  loc 8192
1012 #endif
1013 #if WS == 4
1014  loc 536870912
1015 #endif
1016  bne *1
1017 OK
1018 #if WS == 2
1019  loc 32767
1020  loc 15
1021  ror WS
1022  loc -2
1023  bne *1
1024 OK
1025 #endif
1026  loc -28
1027  loc 0
1028  ror WS
1029  loc -28
1030  bne *1
1031 OK
1032 TEST 042: test inc
1033 MAIN 0
1034  loc 20
1035  inc
1036  loc 21
1037  bne *1
1038 OK
1039  loc -50
1040  inc
1041  loc -49
1042  bne *1
1043 OK
1044 TEST 043: test dec
1045 MAIN 0
1046  loc 66
1047  dec
1048  loc 65
1049  bne *1
1050 OK
1051  loc -44
1052  dec
1053  loc -45
1054  bne *1
1055 OK
1056 TEST 044: test adp
1057 MAIN 20
1058  lal -10
1059  adp -2
1060  lal -12
1061  cmp
1062  zne *1
1063 OK
1064  loc 519
1065  lal -11
1066  sti 1
1067  lal -12
1068  adp 1
1069  loi 1
1070  loc 7
1071  bne *1
1072 OK
1073 TEST 045: test inn WS
1074 MAIN 0
1075  loc 8
1076  loc 3
1077  inn WS
1078  loc 1
1079  bne *1
1080 OK
1081  loc 8
1082  loc 4
1083  inn WS
1084  loc 0
1085  bne *1
1086 OK
1087  loc 2
1088  loc -5
1089  inn WS
1090  loc 0
1091  bne *1
1092 OK
1093  loc -5
1094  loc 3
1095  inn WS
1096  loc 1
1097  bne *1
1098 OK
1099 TEST 046: test inn ?
1100 MAIN 0
1101  loc 8
1102  loc 3
1103  loc WS
1104  inn ?
1105  loc 1
1106  bne *1
1107 OK
1108  loc 8
1109  loc 4
1110  loc WS
1111  inn ?
1112  loc 0
1113  bne *1
1114 OK
1115  loc 2
1116  loc -5
1117  loc WS
1118  inn ?
1119  loc 0
1120  bne *1
1121 OK
1122  loc -5
1123  loc 3
1124  loc WS
1125  inn ?
1126  loc 1
1127  bne *1
1128 OK
1129 TEST 047: test set
1130 MAIN 0
1131  loc 3
1132  set WS
1133  loc 8
1134  bne *1
1135 OK
1136  loc 6
1137  set 2*WS
1138  loc 64
1139  bne *1
1140  loc 0
1141  bne *1
1142 OK
1143  loc 0
1144  set 4*WS
1145  loc 1
1146  bne *1
1147  loc 0
1148  bne *1
1149  loc 0
1150  bne *1
1151  loc 0
1152  bne *1
1153 OK
1154 TEST 048: test set ?
1155 MAIN 0
1156  loc 3
1157  loc WS
1158  set ?
1159  loc 8
1160  bne *1
1161 OK
1162  loc 6
1163  loc 2*WS
1164  set ?
1165  loc 64
1166  bne *1
1167  loc 0
1168  bne *1
1169 OK
1170  loc 0
1171  loc 4*WS
1172  set ?
1173  loc 1
1174  bne *1
1175  loc 0
1176  bne *1
1177  loc 0
1178  bne *1
1179  loc 0
1180  bne *1
1181 OK
1182 TEST 049: test aar 
1183 a049
1184  rom 5,2,4
1185 b049
1186  con 5,2,1
1187 MAIN 20
1188  lal -12
1189  loc 5
1190  lae a049
1191  aar WS
1192  lal -12
1193  cmp
1194  zne *1
1195 OK
1196  lal -11
1197  loc 7
1198  lae b049
1199  aar WS
1200  lal -9
1201  cmp
1202  zne *1
1203 OK
1204 TEST 050: test aar ?
1205 a050
1206  rom 5,2,4
1207 b050
1208  con 5,2,1
1209 MAIN 20
1210  lal -12
1211  loc 5
1212  lae a050
1213  loc WS
1214  aar ?
1215  lal -12
1216  cmp
1217  zne *1
1218 OK
1219  lal -11
1220  loc 7
1221  lae b050
1222  loc WS
1223  aar ?
1224  lal -9
1225  cmp
1226  zne *1
1227 OK
1228 TEST 051: test lar
1229 a051
1230  rom 5,2,2*WS
1231 b051
1232  con 5,2,1
1233 MAIN 20
1234  loc 40
1235  loc 41
1236  sdl -16+(2*WS)
1237  lal -16
1238  loc 6
1239  lae a051
1240  lar WS
1241  loc 41
1242  bne *1
1243  loc 40
1244  bne *1
1245 OK
1246  loc 42
1247  lal -13
1248  sti 1
1249  lal -15
1250  loc 7
1251  lae b051
1252  lar WS
1253  lal -13
1254  loi 1
1255  bne *1
1256 OK
1257 TEST 052: test lar ?
1258 a052
1259  rom 5,2,2*WS
1260 b052
1261  con 5,2,1
1262 MAIN 20
1263  loc 40
1264  loc 41
1265  sdl -16+(2*WS)
1266  lal -16
1267  loc 6
1268  lae a052
1269  loc WS
1270  lar ?
1271  loc 41
1272  bne *1
1273  loc 40
1274  bne *1
1275 OK
1276  loc 42
1277  lal -13
1278  sti 1
1279  lal -15
1280  loc 7
1281  lae b052
1282  loc WS
1283  lar ?
1284  lal -13
1285  loi 1
1286  bne *1
1287 OK
1288 TEST 053: test sar
1289 a053
1290  rom 5,2,3*WS
1291 b053
1292  con 5,2,1
1293 MAIN 28 : assert WS <= 8
1294  loc 39
1295  loc 40
1296  loc 41
1297  lal -28
1298  loc 6
1299  lae a053
1300  sar WS
1301  lal -28+(3*WS)
1302  loi 3*WS
1303  loc 41
1304  bne *1
1305  loc 40
1306  bne *1
1307  loc 39
1308  bne *1
1309 OK
1310  loc -2
1311  lal -11
1312  loc 7
1313  lae b053
1314  sar WS
1315  lal -9
1316  loi 1
1317  loc 254
1318  bne *1
1319 OK
1320 TEST 054: test sar ?
1321 a054
1322  rom 5,2,3*WS
1323 b054
1324  con 5,2,1
1325 MAIN 28
1326  loc 39
1327  loc 40
1328  loc 41
1329  lal -28
1330  loc 6
1331  lae a054
1332  loc WS
1333  sar ?
1334  lal -28+(3*WS)
1335  loi 3*WS
1336  loc 41
1337  bne *1
1338  loc 40
1339  bne *1
1340  loc 39
1341  bne *1
1342 OK
1343  loc -2
1344  lal -11
1345  loc 7
1346  lae b054
1347  loc WS
1348  sar ?
1349  lal -9
1350  loi 1
1351  loc 254
1352  bne *1
1353 OK
1354 TEST 055: test tlt
1355 MAIN 0
1356  loc 1
1357  tlt
1358  loc 0
1359  bne *1
1360 OK
1361  loc 0
1362  tlt
1363  loc 0
1364  bne *1
1365 OK
1366  loc -3
1367  tlt
1368  loc 1
1369  bne *1
1370 OK
1371 TEST 056: test tle
1372 MAIN 0
1373  loc 8
1374  tle
1375  loc 0
1376  bne *1
1377 OK
1378  loc 0
1379  tle
1380  loc 1
1381  bne *1
1382 OK
1383  loc -19
1384  tle
1385  loc 1
1386  bne *1
1387 OK
1388 TEST 057: test teq
1389 MAIN 0
1390  loc 17
1391  teq
1392  loc 0
1393  bne *1
1394 OK
1395  loc 0
1396  teq
1397  loc 1
1398  bne *1
1399 OK
1400  loc -100
1401  teq
1402  loc 0
1403  bne *1
1404 OK
1405 TEST 058: test tne
1406 MAIN 0
1407  loc 76
1408  tne
1409  loc 1
1410  bne *1
1411 OK
1412  loc 0
1413  tne
1414  loc 0
1415  bne *1
1416 OK
1417  loc -99
1418  tne
1419  loc 1
1420  bne *1
1421 OK
1422 TEST 059: test tge
1423 MAIN 0
1424  loc 14
1425  tge
1426  loc 1
1427  bne *1
1428 OK
1429  loc 0
1430  tge
1431  loc 1
1432  bne *1
1433 OK
1434  loc -76
1435  tge
1436  loc 0
1437  bne *1
1438 OK
1439 TEST 060: test tgt
1440 MAIN 0
1441  loc 20
1442  tgt
1443  loc 1
1444  bne *1
1445 OK
1446  loc 0
1447  tgt
1448  loc 0
1449  bne *1
1450 OK
1451  loc -66
1452  tgt
1453  loc 0
1454  bne *1
1455 OK
1456 TEST 061: test cmi WS
1457 MAIN 0
1458  loc 10
1459  loc 20
1460  cmi WS
1461  tlt
1462  loc 1
1463  bne *1
1464 OK
1465  loc 20
1466  loc 10
1467  cmi WS
1468  tgt
1469  loc 1
1470  bne *1
1471 OK
1472  loc 44
1473  loc 44
1474  cmi WS
1475  loc 0
1476  bne *1
1477 OK
1478 TEST 062: test cmp, adp, cmu
1479 MAIN 20
1480  lal -5
1481  lal -2
1482  cmp
1483  tlt
1484  loc 1
1485  bne *1
1486 OK
1487  lal -2
1488  lal -5
1489  cmp
1490  tle
1491  loc 0
1492  bne *1
1493 OK
1494  lal -2
1495  lal -2
1496  cmp
1497  loc 0
1498  bne *1
1499 OK
1500  lal -5
1501  adp 3
1502  lal -2
1503  cmp
1504  loc 0
1505  bne *1
1506 OK
1507  lal -5
1508  adp 4
1509  lal -2
1510  cmp
1511  tge
1512  loc 1
1513  bne *1
1514 OK
1515  loc 6
1516  loc 6
1517  cmu WS
1518  loc 0
1519  bne *1
1520 OK
1521  loc 17
1522  loc 27
1523  cmu WS
1524  tlt
1525  loc 1
1526  bne *1
1527 OK
1528 #ifdef W2S
1529  loc 17
1530  loc 6
1531  loc 27
1532  loc 6
1533  cmu W2S
1534  tlt
1535  loc 1
1536  bne *1
1537 OK
1538  loc 6
1539  loc 27
1540  loc 6
1541  loc 17
1542  cmu W2S
1543  tgt
1544  loc 1
1545  bne *1
1546 OK
1547 #endif
1548 TEST 063: test cms, zer
1549 MAIN 0
1550  loc 6
1551  loc -10
1552  loc -125
1553  loc 30
1554  loc 6
1555  loc -10
1556  loc -125
1557  loc 30
1558  loc 4*WS
1559  cms
1560  teq
1561  loc 1
1562  bne *1
1563 OK
1564  loc 6
1565  loc -10
1566  loc -125
1567  loc 30
1568  loc 6
1569  loc -10
1570  loc -125
1571  loc 30
1572  cms 4*WS
1573  teq
1574  loc 1
1575  bne *1
1576 OK
1577  loc 6
1578  loc -10
1579  loc -125
1580  loc 30
1581  loc 6
1582  loc -10
1583  loc -126
1584  loc 30
1585  loc 4*WS
1586  cms
1587  tne
1588  loc 1
1589  bne *1
1590 OK
1591  loc 6
1592  loc -10
1593  loc -125
1594  loc 30
1595  loc 6
1596  loc -10
1597  loc -126
1598  loc 30
1599  cms 4*WS
1600  tne
1601  loc 1
1602  bne *1
1603 OK
1604  loc 0
1605  loc 0
1606  loc 0
1607  loc 0
1608  zer 4*WS
1609  cms 4*WS
1610  teq
1611  loc 1
1612  bne *1
1613 OK
1614 TEST 064: test blt
1615 MAIN 0
1616  loc 3
1617  loc 4
1618  blt *1064
1619  bra *1
1620 1064
1621  loc 4
1622  loc 3
1623  blt *1
1624  loc -5
1625  loc -4
1626  blt *2064
1627  bra *1
1628 2064
1629  loc -4
1630  loc -5
1631  blt *1
1632  loc 4
1633  loc 4
1634  blt *1
1635 OK
1636 TEST 065: test ble
1637 MAIN 0
1638  loc 3
1639  loc 4
1640  ble *1065
1641  bra *1
1642 1065
1643  loc 4
1644  loc 3
1645  ble *1
1646  loc -99
1647  loc -5
1648  ble *2065
1649  bra *1
1650 2065
1651  loc -99
1652  loc -99
1653  ble *3065
1654  bra *1
1655 3065
1656  loc 100
1657  loc -100
1658  ble *1
1659 OK
1660 TEST 066: test beq
1661 MAIN 0
1662  loc 3
1663  loc 3
1664  beq *1066
1665  bra *1
1666 1066
1667  loc 3
1668  loc 4
1669  beq *1
1670  loc -18
1671  loc -17
1672  beq *1
1673  loc 0
1674  loc 0
1675  beq *2066
1676  bra *1
1677 2066
1678 OK
1679 TEST 067: test bne
1680 MAIN 0
1681  loc 50
1682  loc 50
1683  bne *1
1684  loc 50
1685  loc 51
1686  bne *1067
1687  bra *1
1688 1067
1689  loc 0
1690  loc 0
1691  bne *1
1692 OK
1693 TEST 068: test bge
1694 MAIN 0
1695  loc 100
1696  loc 101
1697  bge *1
1698  loc 101
1699  loc 100
1700  bge *1068
1701  bra *1
1702 1068
1703  loc -100
1704  loc -99
1705  bge *1
1706  loc -100
1707  loc 100
1708  bge *1
1709  loc 0
1710  loc 0
1711  bge *2068
1712  bra *1
1713 2068
1714  loc 50
1715  loc 50
1716  bge *3068
1717  bra *1
1718 3068
1719 OK
1720 TEST 069: test bgt
1721 MAIN 0
1722  loc 3
1723  loc 10
1724  bgt *1
1725  loc 10
1726  loc 3
1727  bgt *1069
1728  bra *1
1729 1069
1730  loc -100
1731  loc -50
1732  bgt *1
1733  loc -100
1734  loc 50
1735  bgt *1
1736  loc 5
1737  loc 5
1738  bgt *1
1739 OK
1740 TEST 070: test zlt
1741 MAIN 0
1742  loc 4
1743  zlt *1
1744  loc -4
1745  zlt *1070
1746  bra *1
1747 1070
1748  loc 0
1749  zlt *1
1750 OK
1751 TEST 071: test zle
1752 MAIN 0
1753  loc 4
1754  zle *1
1755  loc -4
1756  zlt *1071
1757  bra *1
1758 1071
1759  loc 0
1760  zle *2071
1761  bra *1
1762 2071
1763 OK
1764 TEST 072: test zeq
1765 MAIN 0
1766  loc 4
1767  zeq *1
1768  loc -4
1769  zeq *1
1770  loc 0
1771  zeq *1072
1772  bra *1
1773 1072
1774 OK
1775 TEST 073: test zne
1776 MAIN 0
1777  loc 4
1778  zne *1073
1779  bra *1
1780 1073
1781  loc -4
1782  zne *2073
1783  bra *1
1784 2073
1785  loc 0
1786  zne *1
1787 OK
1788 TEST 074: test zge
1789 MAIN 0
1790  loc 4
1791  zge *1074
1792  bra *1
1793 1074
1794  loc -4
1795  zge *1
1796  loc 0
1797  zge *2074
1798  bra *1
1799 2074
1800 OK
1801 TEST 075: test zgt
1802 MAIN 0
1803  loc 4
1804  zgt *1075
1805  bra *1
1806 1075
1807  loc -4
1808  zgt *1
1809  loc 0
1810  zgt *1
1811 OK
1812 TEST 076: test asp
1813 MAIN 12
1814  loc 104
1815  loc 4
1816  loc 5
1817  loc 6
1818  asp 2*WS
1819  stl -4
1820  loc 104
1821  bne *1
1822 OK
1823 TEST 077: test cal
1824 HOL 8
1825 MAIN 0
1826  cal $p077
1827  loe 4
1828  loc 34
1829  bne *1
1830 OK
1831 PROC
1832  pro $p077,0
1833  loc 34
1834  ste 4
1835  ret 0
1836  end
1837 TEST 078: test cai
1838 HOL 8
1839 MAIN 0
1840  lpi $p078
1841  cai
1842  loe 4
1843  loc 34
1844  bne *1
1845 OK
1846 PROC
1847  pro $p078,0
1848  loc 34
1849  ste 4
1850  ret 0
1851  end
1852 TEST 079: test ads WS
1853 MAIN 20
1854  lal -6
1855  loc -2
1856  ads WS
1857  lal -8
1858  cmp
1859  zne *1
1860 OK
1861  lal -6
1862  loc 2
1863  ads WS
1864  lal -4
1865  cmp
1866  zne *1
1867 OK
1868 ; test adp
1869  lal -5
1870  adp 1
1871  lal -4
1872  cmp
1873  zne *1
1874 OK
1875 TEST 080: test sbs
1876 HOL 12
1877 MAIN 20
1878  lal -4
1879  lal -6
1880  sbs WS
1881  loc 2
1882  bne *1
1883 OK
1884  lae 7
1885  lae 10
1886  sbs WS
1887  loc -3
1888  bne *1
1889 OK
1890 TEST 081: test lor
1891 #define LB      0
1892 #define SP      1
1893 MAIN 20
1894  lor LB
1895  lxl 0
1896  cmp
1897  zne *1
1898 OK
1899  loc 31
1900  lor SP
1901  loi WS
1902  bne *1
1903 OK
1904  lor SP
1905  lal -12
1906  sti PS
1907  asp -4
1908  lor SP
1909  lal -8
1910  sti PS
1911  asp 4
1912  lal -12
1913  loi PS
1914  lal -8
1915  loi PS
1916  sbs WS
1917  loc 4
1918  bne *1
1919 OK
1920 TEST 082: test ass WS
1921 #define SP      1
1922 MAIN 20
1923  loc 104
1924  loc 50
1925  loc 60
1926  loc 2*WS
1927  ass WS
1928  loc 104
1929  bne *1
1930 OK
1931  lor SP
1932  lal -8
1933  sti PS
1934  loc -24
1935  ass WS
1936  lor SP
1937  lal -4
1938  sti PS
1939  lal -8
1940  loi PS
1941  lal -4
1942  loi PS
1943  sbs WS
1944  loc 24
1945  bne *1
1946  loc 24
1947  ass WS
1948 OK
1949  lor SP
1950  lal -8
1951  loi PS
1952  cmp
1953  zne *1
1954 OK
1955 TEST 083: test blm
1956 HOL 28
1957 MAIN 32
1958  loc 61
1959  ste 12
1960  loc 0
1961  stl -4
1962  lae 12
1963  lal -4
1964  blm WS
1965  lol -4
1966  loc 61
1967  bne *1
1968 OK
1969  loc 44
1970  loc 43
1971  loc 42
1972  loc 41
1973  lal -20
1974  sti 4*WS
1975  lal -20
1976  lae 8
1977  blm 4*WS
1978  loe 8
1979  loc 41
1980  bne *1
1981  loe 8+WS
1982  loc 42
1983  bne *1
1984  loe 8+(2*WS)
1985  loc 43
1986  bne *1
1987  loe 8+(3*WS)
1988  loc 44
1989  bne *1
1990 OK
1991 TEST 084: test bls WS
1992 HOL  28
1993 MAIN 32
1994  loc 20
1995  stl -8
1996  lal -8
1997  lae 20
1998  loc WS
1999  bls WS
2000  loe 20
2001  loc 20
2002  bne *1
2003 OK
2004  loc 55
2005  stl -8+WS
2006  loc 56
2007  stl -8
2008  lal -8
2009  lae 20
2010  loc 2*WS
2011  bls WS
2012  loe 20
2013  loc 56
2014  bne *1
2015  loe 20+WS
2016  loc 55
2017  bne *1
2018 OK
2019 TEST 085: test dup
2020 MAIN 0
2021  loc 199
2022  dup WS
2023  bne *1
2024 OK
2025  loc 130
2026  loc 150
2027  dup 2*WS
2028  loc 150
2029  bne *1
2030  loc 130
2031  bne *1
2032  loc 150
2033  bne *1
2034  loc 130
2035  bne *1
2036 OK
2037 ; test dus WS
2038  loc 400
2039  loc 399
2040  loc 2*WS
2041  dus WS
2042  loc 399
2043  bne *1
2044  loc 400
2045  bne *1
2046  loc 399
2047  bne *1
2048  loc 400
2049  bne *1
2050 OK
2051 TEST 087: test rck
2052 a087
2053  con 10,14
2054 MAIN 12
2055  loc 10
2056  lae a087
2057  rck WS
2058  inc
2059  lae a087
2060  rck WS
2061  inc
2062  lae a087
2063  rck WS
2064  inc
2065  lae a087
2066  rck WS
2067  inc
2068  lae a087
2069  rck WS
2070  stl -4
2071 OK
2072 TEST 088: test csa
2073 MAIN 20
2074 a088
2075  con *1088,4,2,*3088,*2088,*4088
2076  zrl -8
2077  loc 4
2078 5088
2079  inc
2080  dup WS
2081  lae a088
2082  csa WS
2083  bra *1
2084 3088
2085  bra *1
2086 2088
2087  lol -8
2088  loc 3
2089  adi WS
2090  stl -8
2091  bra *5088
2092 1088
2093  inl -8
2094  bra *6088
2095 4088
2096  lol -8
2097  loc 2
2098  adi WS
2099  stl -8
2100  bra *5088
2101 6088
2102  loc 7
2103  bne *1
2104 OK
2105  lol -8
2106  loc 6
2107  bne *1
2108 OK
2109 TEST 089: test csb
2110 MAIN 20
2111 b089
2112  rom *1089,3,-1,*3089,0,*2089,1,*4089
2113  loc -1
2114  zrl -12
2115 5089
2116  inc
2117  dup WS
2118  lae b089
2119  csb WS
2120  bra *1
2121 3089
2122  bra *1
2123 2089
2124  lol -12
2125  loc 3
2126  adi WS
2127  stl -12
2128  bra *5089
2129 1089
2130  inl -12
2131  bra *6089
2132 4089
2133  lol -12
2134  loc 2
2135  adi WS
2136  stl -12
2137  bra *5089
2138 6089
2139  loc 2
2140  bne *1
2141 OK
2142  lol -12
2143  loc 6
2144  bne *1
2145 OK
2146 TEST 090: now test loi again, because it is so tricky
2147 MAIN 20
2148  loc 256
2149  lal -3
2150  sti 1
2151  loc 1
2152  lal -4
2153  sti 1
2154  loc 517
2155  lal -5
2156  sti 1
2157  loc 2
2158  lal -6
2159  sti 1
2160  loc 1030
2161  lal -8
2162  sti 2
2163  loc 4
2164  lal -9
2165  sti 1
2166  lal -3
2167  loi 1
2168  loc 0 
2169  bne *1
2170 OK
2171  lal -3
2172  adp -1
2173  loi 1
2174  loc 1
2175  bne *1
2176 OK
2177  lal -3
2178  adp -2
2179  loi 1
2180  loc 5
2181  bne *1
2182 OK
2183  lal -3
2184  adp -3
2185  loi 1
2186  loc 2
2187  bne *1
2188 OK
2189  lal -4
2190  adp -4
2191  loi 2
2192  loc 1030
2193  bne *1
2194 OK
2195  lal -6
2196  adp -3
2197  loi 1
2198  loc 4
2199  bne *1
2200 OK
2201 TEST 091: now test sti 1 again
2202 MAIN 12
2203  loc 3
2204  loc 2
2205  loc 1
2206  loc 7
2207  loc 8
2208  loc 10
2209  lal -4
2210  sti 1
2211  lal -4
2212  adp -1
2213  sti 1
2214  lal -4
2215  adp -2
2216  sti 1
2217  lal -4
2218  adp -3
2219  sti 1
2220  lal -4
2221  adp -4
2222  sti 1
2223  lal -4
2224  adp -5
2225  sti 1
2226  lal -4
2227  loi 1
2228  loc 10
2229  bne *1
2230 OK
2231  lal -6
2232  loi 1
2233  loc 7
2234  bne *1
2235 OK
2236  lal -8
2237  loi 1
2238  loc 2
2239  bne *1
2240 OK
2241 TEST 092: test ldc and cii
2242 MAIN 0
2243 #ifdef W2S
2244  ldc 0
2245  bne *1
2246 OK
2247  ldc 1
2248  loc 1
2249  loc WS
2250  loc W2S
2251  cii
2252  cmi W2S
2253  zne *1
2254 OK
2255  ldc -1
2256  loc -1
2257  loc WS
2258  loc W2S
2259  cii
2260  cmi W2S
2261  zne *1
2262 OK
2263  loc -1
2264  ldc -1
2265  loc W2S
2266  loc WS
2267  cii
2268  cmi WS
2269  zne *1
2270 OK
2271 #if WS == 1
2272  ldc -127
2273  loc -127
2274 #endif
2275 #if WS == 2
2276  ldc -32767
2277  loc -32767
2278 #endif
2279 #if WS == 4
2280  ldc -2147483647
2281  loc -2147483647
2282 #endif
2283  loc WS
2284  loc W2S
2285  cii
2286  cmi W2S
2287  zne *1
2288 OK
2289  ldc -1
2290  loc -1
2291  bne *1
2292 OK
2293  loc -1
2294  bne *1
2295 OK
2296  ldc 1
2297  zeq *1092
2298 ; low order part on top of stack
2299  loc 0
2300  bne *1
2301 OK
2302  bra *2092
2303 ; high order part on top of stack
2304 1092
2305  loc 1
2306  bne *1
2307 OK
2308 2092
2309 #endif
2310 TEST 093: test cii
2311 MAIN 0
2312  loc 123
2313  dup WS
2314  loc WS
2315  dup WS
2316  cii
2317  bne *1
2318 OK
2319 #ifdef W2S
2320  loc 0
2321  loc WS
2322  loc W2S
2323  cii
2324  loc 0
2325  bne *1
2326  loc 0
2327  bne *1
2328 OK
2329 ; dynamically determine format of doubles
2330  loc 1
2331  loc WS
2332  loc W2S
2333  cii
2334  zeq *1093
2335 ; low order part on top of stack
2336  loc 0
2337  bne *1
2338 OK
2339  loc -3
2340  loc WS
2341  loc W2S
2342  cii
2343  loc -3
2344  bne *1
2345  loc -1
2346  bne *1
2347 OK
2348  bra *2093
2349 ; high order part on top of stack
2350 1093
2351  loc 1
2352  bne *1
2353 OK
2354  loc -3
2355  loc WS
2356  loc W2S
2357  cii
2358  loc -1
2359  bne *1
2360  loc -3
2361  bne *1
2362 OK
2363 2093
2364 #endif
2365 TEST 094: test adi W2S
2366 MAIN 0
2367 #ifdef W2S
2368  ldc 1
2369  ldc 1
2370  adi W2S
2371  ldc 2
2372  cmi W2S
2373  zne *1
2374 OK
2375  ldc 5
2376  ldc -6
2377  adi W2S
2378  ldc -1
2379  cmi W2S
2380  zne *1
2381 OK
2382  ldc -1007
2383  ldc +999
2384  adi W2S
2385  ldc -8
2386  cmi W2S
2387  zne *1
2388 OK
2389  ldc -1300
2390  ldc +1405
2391  adi W2S
2392  ldc 105
2393  cmi W2S
2394  zne *1
2395 OK
2396  ldc -30000
2397  ldc -20
2398  adi W2S
2399  ldc -30020
2400  cmi W2S
2401  zne *1
2402 OK
2403 #if WS >= 2
2404  ldc -100007
2405  ldc +99999
2406  adi W2S
2407  ldc -8
2408  cmi W2S
2409  zne *1
2410 OK
2411  ldc -1300
2412  ldc +140567
2413  adi W2S
2414  ldc 139267
2415  cmi W2S
2416  zne *1
2417 OK
2418  ldc -30000000
2419  ldc -20
2420  adi W2S
2421  ldc -30000020
2422  cmi W2S
2423  zne *1
2424 OK
2425 #endif
2426 #endif
2427 TEST 095: test sbi W2S
2428 MAIN 0
2429 #ifdef W2S
2430  ldc 1
2431  ldc 1
2432  sbi W2S
2433  ldc 0
2434  cmi W2S
2435  zne *1
2436 OK
2437  ldc 5
2438  ldc -6
2439  sbi W2S
2440  ldc +11
2441  cmi W2S
2442  zne *1
2443 OK
2444  ldc -1007
2445  ldc +999
2446  sbi W2S
2447  ldc -2006
2448  cmi W2S
2449  zne *1
2450 OK
2451  ldc -1300
2452  ldc +1405
2453  sbi W2S
2454  ldc -2705
2455  cmi W2S
2456  zne *1
2457 OK
2458  ldc -30000
2459  ldc -20
2460  sbi W2S
2461  ldc -29980
2462  cmi W2S
2463  zne *1
2464 OK
2465 #if WS >= 2
2466  ldc -100007
2467  ldc +99999
2468  sbi W2S
2469  ldc -200006
2470  cmi W2S
2471  zne *1
2472 OK
2473  ldc -1300
2474  ldc +140567
2475  sbi W2S
2476  ldc -141867
2477  cmi W2S
2478  zne *1
2479 OK
2480  ldc -30000000
2481  ldc -20
2482  sbi W2S
2483  ldc -29999980
2484  cmi W2S
2485  zne *1
2486 OK
2487 #endif
2488 #endif
2489 TEST 096: test mli W2S
2490 MAIN 0
2491 #ifdef W2S
2492  ldc 5
2493  ldc 9
2494  mli W2S
2495  ldc 45
2496  cmi W2S
2497  zne *1
2498 OK
2499  ldc 0
2500  ldc 10
2501  mli W2S
2502  ldc 0
2503  cmi W2S
2504  zne *1
2505 OK
2506  ldc -99
2507  ldc 7
2508  mli W2S
2509  ldc -693
2510  cmi W2S
2511  zne *1
2512 OK
2513  ldc -100
2514  ldc -90
2515  mli W2S
2516  ldc 9000
2517  cmi W2S
2518  zne *1
2519 OK
2520 #if WS >= 2
2521  ldc 123456
2522  ldc 200
2523  mli W2S
2524  ldc 24691200
2525  cmi W2S
2526  zne *1
2527 OK
2528 #endif
2529 #endif
2530 TEST 097: test dvi W2S
2531 MAIN 0
2532 #ifdef W2S
2533  ldc 15
2534  ldc 5
2535  dvi W2S
2536  ldc 3
2537  cmi W2S
2538  zne *1
2539 OK
2540  ldc 100
2541  ldc -7
2542  dvi W2S
2543  ldc -14
2544  cmi W2S
2545  zne *1
2546 OK
2547  ldc -100
2548  ldc 7
2549  dvi W2S
2550  ldc -14
2551  cmi W2S
2552  zne *1
2553 OK
2554  ldc -1000
2555  ldc -201
2556  dvi W2S
2557  ldc 4
2558  cmi W2S
2559  zne *1
2560 OK
2561 #if WS >= 2
2562  ldc 1234567
2563  ldc -100
2564  dvi W2S
2565  ldc -12345
2566  cmi W2S
2567  zne *1
2568 OK
2569 #endif
2570 #endif
2571 TEST 098: test rmi W2S
2572 MAIN 0
2573 #ifdef W2S
2574  ldc 100
2575  ldc 7
2576  rmi W2S
2577  ldc 2
2578  cmi W2S
2579  zne *1
2580 OK
2581  ldc -100
2582  ldc 7
2583  rmi W2S
2584  ldc -2
2585  cmi W2S
2586  zne *1
2587 OK
2588  ldc 100
2589  ldc -7
2590  rmi W2S
2591  ldc 2
2592  cmi W2S
2593  zne *1
2594 OK
2595  ldc -100
2596  ldc -7
2597  rmi W2S
2598  ldc -2
2599  cmi W2S
2600  zne *1
2601 OK
2602  ldc -1000
2603  ldc -201
2604  rmi W2S
2605  ldc -196
2606  cmi W2S
2607  zne *1
2608 OK
2609 #if WS >= 4
2610  ldc 1234567
2611  ldc -100
2612  rmi W2S
2613  ldc 67
2614  cmi W2S
2615  zne *1
2616 OK
2617 #endif
2618 #endif
2619 TEST 099: test and
2620 MAIN 0
2621  loc 68
2622  loc 65
2623  and WS
2624  loc 64
2625  bne *1
2626 OK
2627  loc 17
2628  loc 34
2629  loc 3
2630  loc 36
2631  and 2*WS
2632  loc 32
2633  bne *1
2634  loc 1
2635  bne *1
2636 OK
2637  loc 17
2638  loc 34
2639  loc 68
2640  loc -120
2641  loc 1
2642  loc 37
2643  loc 12
2644  loc -127
2645  and 4*WS
2646  loc -128
2647  bne *1
2648  loc 4
2649  bne *1
2650  loc 32
2651  bne *1
2652  loc 1
2653  bne *1
2654 OK
2655 TEST 100: test ior
2656 MAIN 0
2657  loc 68
2658  loc 65
2659  ior WS
2660  loc 69
2661  bne *1
2662 OK
2663  loc 17
2664  loc 34
2665  loc 3
2666  loc 36
2667  ior 2*WS
2668  loc 38
2669  bne *1
2670  loc 19
2671  bne *1
2672 OK
2673  loc 17
2674  loc 34
2675  loc 68
2676  loc -120
2677  loc 1
2678  loc 37
2679  loc 12
2680  loc -127
2681  ior 4*WS
2682  loc -119
2683  bne *1
2684  loc 76
2685  bne *1
2686  loc 39
2687  bne *1
2688  loc 17
2689  bne *1
2690 OK
2691 TEST 101: test xor
2692 MAIN 0
2693  loc 68
2694  loc 65
2695  xor WS
2696  loc 5
2697  bne *1
2698 OK
2699  loc 17
2700  loc 34
2701  loc 3
2702  loc 36
2703  xor 2*WS
2704  loc 6
2705  bne *1
2706  loc 18
2707  bne *1
2708 OK
2709  loc 17
2710  loc 34
2711  loc 68
2712  loc -120
2713  loc 1
2714  loc 37
2715  loc 12
2716  loc -127
2717  xor 4*WS
2718  loc 9
2719  bne *1
2720  loc 72
2721  bne *1
2722  loc 7
2723  bne *1
2724  loc 16
2725  bne *1
2726 OK
2727 TEST 102: test com
2728 MAIN 0
2729  loc 68
2730  com WS
2731  loc -69
2732  bne *1
2733 OK
2734  loc 17
2735  loc 34
2736  com 2*WS
2737  loc -35
2738  bne *1
2739  loc -18
2740  bne *1
2741 OK
2742  loc 17
2743  loc 34
2744  loc 68
2745  loc -120
2746  com 4*WS
2747  loc 119
2748  bne *1
2749  loc -69
2750  bne *1
2751  loc -35
2752  bne *1
2753  loc -18
2754  bne *1
2755 OK
2756 TEST 103: test sli,slu W2S
2757 MAIN 0
2758 #ifdef W2S
2759  ldc 5
2760  loc 3
2761  sli W2S
2762  ldc 40
2763  cmi W2S
2764  zne *1
2765 OK
2766  ldc -2
2767  loc 4
2768  sli W2S
2769  ldc -32
2770  cmi W2S
2771  zne *1
2772 OK
2773  ldc 5
2774  loc 3
2775  slu W2S
2776  ldc 40
2777  cmi W2S
2778  zne *1
2779 OK
2780  ldc -2
2781  loc 4
2782  slu W2S
2783  ldc -32
2784  cmi W2S
2785  zne *1
2786 OK
2787 #endif
2788 TEST 104: test sri,sru W2S
2789 MAIN 0
2790 #ifdef W2S
2791  ldc 64
2792  loc 5
2793  sri W2S
2794  ldc 2
2795  cmi W2S
2796  zne *1
2797 OK
2798  ldc -3
2799  loc 2
2800  sri W2S
2801  ldc -1
2802  cmi W2S
2803  zne *1
2804 OK
2805  ldc -16
2806  loc 3
2807  sri W2S
2808  ldc -2
2809  cmi W2S
2810  zne *1
2811 OK
2812  ldc 64
2813  loc 5
2814  sru W2S
2815  ldc 2
2816  cmi W2S
2817  zne *1
2818 OK
2819  ldc -3
2820  loc 2
2821  sru W2S
2822 #if W2S == 2
2823  ldc 16383
2824 #endif
2825 #if W2S == 4
2826  ldc 1073741823
2827 #endif
2828  cmi W2S
2829  zne *1
2830 OK
2831 #endif
2832 TEST 105: common test of double arithmetic
2833 MAIN 0
2834 #ifdef W2S
2835  ldc 1000
2836  ldc 10
2837  mli W2S
2838  ldc 4
2839  dvi W2S
2840  ldc 1500
2841  adi W2S
2842  ldc 2856
2843  sbi W2S
2844  ldc 100
2845  rmi W2S
2846  ldc 44
2847  cmi W2S
2848  zne *1
2849 OK
2850 #endif
2851 TEST 106: test cmi W2S
2852 MAIN 0
2853 #if W2S==2
2854  ldc 64
2855  ldc 4
2856  mli W2S
2857  ldc 63
2858  ldc 4
2859  mli W2S
2860  cmi W2S
2861  tge
2862  loc 1
2863  bne *1
2864 OK
2865 #endif
2866 #if W2S==4
2867  ldc 16384
2868  ldc 4
2869  mli W2S
2870  ldc 16383
2871  ldc 4
2872  mli W2S
2873  cmi W2S
2874  tge
2875  loc 1
2876  bne *1
2877 OK
2878 #endif
2879 TEST 107: test cii W2S -> WS
2880 MAIN 0
2881 #ifdef W2S
2882  ldc 100
2883  loc W2S
2884  loc WS
2885  cii
2886  loc 100
2887  bne *1
2888 OK
2889  ldc 5000
2890  ldc -6
2891  mli W2S
2892  ldc 1000
2893  dvi W2S
2894  loc W2S
2895  loc WS
2896  cii
2897  loc -30
2898  bne *1
2899 OK
2900 #endif
2901 TEST 108: test cif, cfi, adf FS
2902 MAIN 0
2903 #ifdef FS
2904  loc 100
2905  loc WS
2906  loc FS
2907  cif
2908  loc 44
2909  loc WS
2910  loc FS
2911  cif
2912  adf FS
2913  loc FS
2914  loc WS
2915  cfi
2916  loc 144
2917  bne *1
2918 OK
2919  loc 65
2920  loc WS
2921  loc FS
2922  cif
2923  loc -65
2924  loc WS
2925  loc FS
2926  cif
2927  adf FS
2928  loc FS
2929  loc WS
2930  cfi
2931  loc 0
2932  bne *1
2933 OK
2934 #endif
2935 TEST 109: test cdf, cfd
2936 MAIN 0
2937 #ifdef FS
2938 #ifdef W2S
2939  loc 55
2940  loc WS
2941  loc W2S
2942  cii
2943  loc W2S
2944  loc FS
2945  cif
2946  loc 55
2947  loc WS
2948  loc FS
2949  cif
2950  cmf FS
2951  zne *1
2952 OK
2953  loc 24
2954  loc WS
2955  loc FS
2956  cif
2957  loc FS
2958  loc W2S
2959  cfi
2960  loc W2S
2961  loc WS
2962  cii
2963  loc 24
2964  bne *1
2965 OK
2966  loc 57
2967  loc WS
2968  loc FS
2969  cif
2970  loc FS
2971  loc W2S
2972  cfi
2973  loc W2S
2974  loc WS
2975  cii
2976  loc 57
2977  bne *1
2978 OK
2979  loc 40
2980  loc WS
2981  loc W2S
2982  cii
2983  loc W2S
2984  loc FS
2985  cif
2986  loc FS
2987  loc WS
2988  cfi
2989  loc 40
2990  bne *1
2991 OK
2992 #endif
2993 #endif
2994 TEST 110: test sbf FS
2995 MAIN 0
2996 #ifdef FS
2997  loc 100
2998  loc WS
2999  loc FS
3000  cif
3001  loc 50
3002  loc WS
3003  loc FS
3004  cif
3005  sbf FS
3006  loc FS
3007  loc WS
3008  cfi
3009  loc 50
3010  bne *1
3011 OK
3012  loc 32
3013  loc WS
3014  loc FS
3015  cif
3016  loc 101
3017  loc WS
3018  loc FS
3019  cif
3020  sbf FS
3021  loc -69
3022  loc WS
3023  loc FS
3024  cif
3025  cmf FS
3026  zne *1
3027 OK
3028 #endif
3029 TEST 111: test mlf FS
3030 MAIN 0
3031 #ifdef FS
3032  loc 4
3033  loc WS
3034  loc FS
3035  cif
3036  loc 20
3037  loc WS
3038  loc FS
3039  cif
3040  mlf FS
3041  loc FS
3042  loc WS
3043  cfi
3044  loc 80
3045  bne *1
3046 OK
3047  loc -12
3048  loc WS
3049  loc FS
3050  cif
3051  loc -9
3052  loc WS
3053  loc FS
3054  cif
3055  mlf FS
3056  loc FS
3057  loc WS
3058  cfi
3059  loc 108
3060  bne *1
3061 OK
3062 #endif
3063 TEST 112: test dvf FS
3064 MAIN 0
3065 #ifdef FS
3066  loc 45
3067  loc WS
3068  loc FS
3069  cif
3070  loc 9
3071  loc WS
3072  loc FS
3073  cif
3074  dvf FS
3075  loc 5
3076  loc WS
3077  loc FS
3078  cif
3079  cmf FS
3080  zne *1
3081 OK
3082  loc -60
3083  loc WS
3084  loc FS
3085  cif
3086  loc 7
3087  loc WS
3088  loc FS
3089  cif
3090  dvf FS
3091  loc FS
3092  loc WS
3093  cfi
3094  loc -8
3095  bne *1
3096 OK
3097 #endif
3098 TEST 113: test fractions using FS floating arithmetic
3099 MAIN 0
3100 #ifdef FS
3101  loc 7
3102  loc WS
3103  loc FS
3104  cif
3105  loc 2
3106  loc WS
3107  loc FS
3108  cif
3109  dvf FS
3110  loc FS
3111  loc WS
3112  cfi
3113  loc 3
3114  bne *1
3115 OK
3116  loc -7
3117  loc WS
3118  loc FS
3119  cif
3120  loc 2
3121  loc WS
3122  loc FS
3123  cif
3124  dvf FS
3125  loc FS
3126  loc WS
3127  cfi
3128  loc -3
3129  bne *1
3130 OK
3131  loc 11
3132  loc WS
3133  loc FS
3134  cif
3135  loc 2
3136  loc WS
3137  loc FS
3138  cif
3139  dvf FS
3140  loc 5
3141  loc WS
3142  loc FS
3143  cif
3144  mlf FS
3145  loc 4
3146  loc WS
3147  loc FS
3148  cif
3149  mlf FS
3150  loc 110
3151  loc WS
3152  loc FS
3153  cif
3154  cmf FS
3155  zne *1
3156 OK
3157 #endif
3158 TEST 114: test cif, cfi, adf F2S
3159 MAIN 0
3160 #ifdef F2S
3161  loc 10
3162  loc WS
3163  loc F2S
3164  cif
3165  loc 44
3166  loc WS
3167  loc F2S
3168  cif
3169  adf F2S
3170  loc F2S
3171  loc WS
3172  cfi
3173  loc 54
3174  bne *1
3175 OK
3176  loc 65
3177  loc WS
3178  loc F2S
3179  cif
3180  loc -65
3181  loc WS
3182  loc F2S
3183  cif
3184  adf F2S
3185  loc F2S
3186  loc WS
3187  cfi
3188  loc 0
3189  bne *1
3190 OK
3191 #endif
3192 TEST 115: test cif, cfi W2S F2S
3193 MAIN 0
3194 #ifdef F2S
3195 #ifdef W2S
3196  loc 55
3197  loc WS
3198  loc W2S
3199  cii
3200  loc W2S
3201  loc F2S
3202  cif
3203  loc 55
3204  loc WS
3205  loc F2S
3206  cif
3207  cmf F2S
3208  zne *1
3209 OK
3210  loc 24
3211  loc WS
3212  loc F2S
3213  cif
3214  loc F2S
3215  loc W2S
3216  cfi
3217  loc W2S
3218  loc WS
3219  cii
3220  loc 24
3221  bne *1
3222 OK
3223  loc 57
3224  loc WS
3225  loc F2S
3226  cif
3227  loc F2S
3228  loc W2S
3229  cfi
3230  loc W2S
3231  loc WS
3232  cii
3233  loc 57
3234  bne *1
3235 OK
3236  loc 41
3237  loc WS
3238  loc W2S
3239  cii
3240  loc W2S
3241  loc F2S
3242  cif
3243  loc F2S
3244  loc WS
3245  cfi
3246  loc 41
3247  bne *1
3248 OK
3249 #endif
3250 #endif
3251 TEST 116: test sbf F2S
3252 MAIN 0
3253 #ifdef F2S
3254  loc 100
3255  loc WS
3256  loc F2S
3257  cif
3258  loc 50
3259  loc WS
3260  loc F2S
3261  cif
3262  sbf F2S
3263  loc F2S
3264  loc WS
3265  cfi
3266  loc 50
3267  bne *1
3268 OK
3269  loc 32
3270  loc WS
3271  loc F2S
3272  cif
3273  loc 101
3274  loc WS
3275  loc F2S
3276  cif
3277  sbf F2S
3278  loc -69
3279  loc WS
3280  loc F2S
3281  cif
3282  cmf F2S
3283  zne *1
3284 OK
3285 #endif
3286 TEST 117: test fmu F2S
3287 MAIN 0
3288 #ifdef F2S
3289  loc 4
3290  loc WS
3291  loc F2S
3292  cif
3293  loc 20
3294  loc WS
3295  loc F2S
3296  cif
3297  mlf F2S
3298  loc F2S
3299  loc WS
3300  cfi
3301  loc 80
3302  bne *1
3303 OK
3304  loc -20
3305  loc WS
3306  loc F2S
3307  cif
3308  loc -6
3309  loc WS
3310  loc F2S
3311  cif
3312  mlf F2S
3313  loc F2S
3314  loc WS
3315  cfi
3316  loc 120
3317  bne *1
3318 OK
3319 #endif
3320 TEST 118: test dvf F2S
3321 MAIN 0
3322 #ifdef F2S
3323  loc 45
3324  loc WS
3325  loc F2S
3326  cif
3327  loc 9
3328  loc WS
3329  loc F2S
3330  cif
3331  dvf F2S
3332  loc 5
3333  loc WS
3334  loc F2S
3335  cif
3336  cmf F2S
3337  zne *1
3338 OK
3339  loc -60
3340  loc WS
3341  loc F2S
3342  cif
3343  loc 7
3344  loc WS
3345  loc F2S
3346  cif
3347  dvf F2S
3348  loc F2S
3349  loc WS
3350  cfi
3351  loc -8
3352  bne *1
3353 OK
3354 #endif
3355 TEST 119: test fractions using F2S floating arithmetic
3356 MAIN 0
3357 #ifdef F2S
3358  loc 7
3359  loc WS
3360  loc F2S
3361  cif
3362  loc 2
3363  loc WS
3364  loc F2S
3365  cif
3366  dvf F2S
3367  loc F2S
3368  loc WS
3369  cfi
3370  loc 3
3371  bne *1
3372 OK
3373  loc -7
3374  loc WS
3375  loc F2S
3376  cif
3377  loc 2
3378  loc WS
3379  loc F2S
3380  cif
3381  dvf F2S
3382  loc F2S
3383  loc WS
3384  cfi
3385  loc -3
3386  bne *1
3387 OK
3388  loc 11
3389  loc WS
3390  loc F2S
3391  cif
3392  loc 2
3393  loc WS
3394  loc F2S
3395  cif
3396  dvf F2S
3397  loc 5
3398  loc WS
3399  loc F2S
3400  cif
3401  mlf F2S
3402  loc 4
3403  loc WS
3404  loc F2S
3405  cif
3406  mlf F2S
3407  loc 110
3408  loc WS
3409  loc F2S
3410  cif
3411  cmf F2S
3412  zne *1
3413 OK
3414 #endif
3415 TEST 120: test cal
3416 HOL 8
3417 MAIN 0
3418  loc 0
3419  ste 4
3420  cal $p120
3421  loe 4
3422  loc 34
3423  bne *1
3424 OK
3425 PROC
3426  pro $p120,0
3427  loc 34
3428  ste 4
3429  ret 0
3430  end
3431 TEST 121: test cal
3432 MAIN 0
3433  cal $p121
3434  lfr WS
3435  loc 7
3436  bne *1
3437 OK
3438 PROC
3439  pro $p121,0
3440  loc 7
3441  ret WS
3442  end
3443 TEST 122: test cal
3444 MAIN 0
3445  loc 7
3446  cal $p122
3447  asp WS
3448  lfr WS
3449  loc 7
3450  bne *1
3451 OK
3452 PROC
3453  pro $p122,0
3454  lol 0
3455  ret WS
3456  end
3457 TEST 123: test cal
3458 MAIN 4
3459  loc 7
3460  stl -4
3461  lor 0
3462  cal $p123
3463  asp PS
3464  lfr WS
3465  loc 7
3466  bne *1
3467 OK
3468  lxl 0
3469  cal $p123
3470  asp PS
3471  lfr WS
3472  loc 7
3473  bne *1
3474 OK
3475 PROC
3476  pro $p123,0
3477  lxl 1
3478  lof -4
3479  ret WS
3480  end
3481 TEST 124: test cal
3482 MAIN 0
3483  loc 7
3484  cal $p124
3485  asp WS
3486 PROC
3487  pro $p124,0
3488  lol 0
3489  loc 7
3490  bne *1
3491 OK
3492  ret 0
3493 ERRLAB
3494  end
3495 TEST 125: test cal
3496 MAIN 4
3497  loc 10
3498  stl -WS
3499  loc 90
3500  lxl 0
3501  cal $p1125
3502  asp PS+WS
3503 OK
3504 PROC
3505  pro $p1125,WS
3506  lol PS
3507  loc 90
3508  bne *1
3509 OK
3510  loc 11
3511  stl -WS
3512  loc 21
3513  loc 91
3514  lxl 0
3515  cal $p2125
3516  asp PS+WS
3517  lfr WS
3518 OK
3519  loc 82
3520  bne *1
3521 OK
3522  loc 21
3523  bne *1
3524 OK
3525  ret 0
3526 ERRLAB
3527  end
3528  pro $p2125,0
3529  lol PS
3530  loc 91
3531  bne *1
3532 OK
3533  loc 12
3534  loc 92
3535  lxl 0
3536  cal $p3125
3537  asp PS+WS
3538  lfr WS+WS
3539 OK
3540  loc 86
3541  bne *1
3542  loc 83
3543  bne *1
3544 OK
3545  loc 12
3546  bne *1
3547 OK
3548  lal PS
3549  loi WS
3550  loc 91
3551  bne *1
3552 OK
3553  loc 82
3554  ret WS
3555 ERRLAB
3556  end
3557  pro $p3125,WS
3558  lol PS
3559  loc 92
3560  bne *1
3561 OK
3562  loc 13
3563  stl -WS
3564  lxa 0
3565  adp PS
3566  loi WS
3567  loc 92
3568  bne *1
3569 OK
3570  lxa 1
3571  adp PS
3572  loi WS
3573  loc 91
3574  bne *1
3575 OK
3576  lxa 2
3577  adp PS
3578  loi WS
3579  loc 90
3580  bne *1
3581 OK
3582  lxl 2
3583  lof -WS
3584  loc 11
3585  bne *1
3586 OK
3587  lxl 3
3588  adp -WS
3589  loi WS
3590  loc 10
3591  bne *1
3592 OK
3593  loc 83
3594  lxl 1
3595  cal $p4125
3596  asp PS
3597  lxl 2
3598  cal $p5125
3599  asp PS
3600  lxl 3
3601  cal $p6125
3602  asp PS
3603  lfr WS
3604  ret WS+WS
3605 ERRLAB
3606  end
3607  pro $p4125,0
3608  lxa 1
3609  adp PS
3610  loi WS
3611  loc 91
3612  bne *1
3613 OK
3614  ret 0
3615 ERRLAB
3616  end
3617  pro $p5125,0
3618  lxa 1
3619  adp PS
3620  loi WS
3621  loc 90
3622  bne *1
3623 OK
3624  ret 0
3625 ERRLAB
3626  end
3627  pro $p6125,0
3628  lxl 1
3629  adp -WS
3630  loi WS
3631  loc 10
3632  bne *1
3633 OK
3634  loc 86
3635  ret WS
3636 ERRLAB
3637  end
3638 TEST 126: test bra
3639 MAIN 0
3640  bra *0126
3641  bra *1
3642 9126
3643  bra *8126
3644 0126
3645  bra *6126
3646  bra *1
3647 1126
3648  bra *5126
3649  bra *1
3650 2126
3651  bra *4126
3652  bra *1
3653 3126
3654  bra *7126
3655  bra *1
3656 4126
3657  bra *3126
3658  bra *1
3659 5126
3660  bra *2126
3661  bra *1
3662 6126
3663  bra *1126
3664  bra *1
3665 7126
3666  bra *9126
3667  bra *1
3668 8126
3669 OK
3670 TEST 127: test ret and lfr
3671 a127
3672  bss 4,0,0
3673 MAIN 0
3674 ; return nothing
3675  loc 123
3676  cal $retw0
3677  loc 123
3678  bne *1
3679 OK
3680 ; return single word
3681  cal $retw1
3682  lfr WS
3683  loc 45
3684  bne *1
3685 OK
3686 ; return single pointer
3687  cal $retp1
3688  lfr PS
3689  lae a127
3690  cmp
3691  zne *1
3692 OK
3693 ; return procedure instance identifier (two pointers)
3694 ; this value may not be disturbed by ASP
3695  lxl 0
3696  cal $retp2
3697  asp PS
3698  lfr 2*PS
3699  lpi $retp2
3700  cmp
3701  zne *1
3702  lxl 0
3703  cmp
3704  zne *1
3705 OK
3706 PROC
3707  pro $retw0,0
3708  ret 0
3709  end
3710  pro $retw1,0
3711  loc 45
3712  ret WS
3713  end
3714  pro $retp1,0
3715  lae a127
3716  ret PS
3717  end
3718  pro $retp2,0
3719  lxl 1
3720  lpi $retp2
3721  ret 2*PS
3722  end
3723 TEST 128: test adu WS
3724 MAIN 0
3725  loc 1
3726  loc 1
3727  adu WS
3728  loc 2
3729  bne *1
3730 OK
3731 #if WS >= 2
3732  loc 32767
3733  loc +999
3734  adu WS
3735  loc 33766
3736  bne *1
3737 OK
3738 #endif
3739 #if WS >= 4
3740  loc 2147483640
3741  loc 1111111111
3742  adu WS
3743  loc 3258594751
3744  bne *1
3745 OK
3746 #endif
3747 TEST 129: test sbu WS
3748 MAIN 0
3749  loc 1
3750  loc 1
3751  sbu WS
3752  loc 0
3753  bne *1
3754 OK
3755 #if WS >= 2
3756  loc 32767
3757  loc -100
3758  sbu WS
3759  loc 32867
3760  bne *1
3761 OK
3762 #endif
3763 #if WS >= 4
3764  loc 2147483647
3765  loc -100
3766  sbu WS
3767  loc 2147483747
3768  bne *1
3769 OK
3770 #endif
3771 TEST 130: test mlu WS
3772 MAIN 0
3773  loc 5
3774  loc 9
3775  mlu WS
3776  loc 45
3777  bne *1
3778 OK
3779  loc 0
3780  loc 10
3781  mlu WS
3782  loc 0
3783  bne *1
3784 OK
3785 #if WS > 1
3786  loc 1024
3787  loc 63
3788  mlu WS
3789  loc 64512
3790  bne *1
3791 OK
3792 #endif
3793 #if WS > 2
3794  loc 65536
3795  loc 32768
3796  mlu WS
3797  loc 2147483648
3798  bne *1
3799 OK
3800 #endif
3801 TEST 131: test dvu WS
3802 MAIN 0
3803  loc 15
3804  loc 5
3805  dvu WS
3806  loc 3
3807  bne *1
3808 OK
3809 #if WS >= 2
3810  loc 65530
3811  loc 100
3812  dvu WS
3813  loc 655
3814  bne *1
3815 OK
3816 #endif
3817 #if WS >= 4
3818  loc 2447684712
3819  loc 100
3820  dvu WS
3821  loc 24476847
3822  bne *1
3823 OK
3824 #endif
3825 TEST 132: test rmu WS
3826 MAIN 0
3827  loc 15
3828  loc 5
3829  rmu WS
3830  loc 0
3831  bne *1
3832 OK
3833 #if WS >= 2
3834  loc 65530
3835  loc 100
3836  rmu WS
3837  loc 30
3838  bne *1
3839 OK
3840 #endif
3841 #if WS >= 4
3842  loc 2447684712
3843  loc 100
3844  rmu WS
3845  loc 12
3846  bne *1
3847 OK
3848 #endif
3849 TEST 133: test adu W2S
3850 MAIN 0
3851 #ifdef W2S
3852  ldc 1
3853  ldc 1
3854  adu W2S
3855  ldc 2
3856  cmu W2S
3857  zne *1
3858 OK
3859  ldc 32767
3860  ldc +999
3861  adu W2S
3862  ldc 33766
3863  cmu W2S
3864  zne *1
3865 OK
3866 #if WS >= 2
3867  ldc 2147483640
3868  ldc 1111111111
3869  adu W2S
3870  ldc 3258594751
3871  cmu W2S
3872  zne *1
3873 OK
3874 #endif
3875 #endif
3876 TEST 134: test sbu W2S
3877 MAIN 0
3878 #ifdef W2S
3879  ldc 1
3880  ldc 1
3881  sbu W2S
3882  ldc 0
3883  cmu W2S
3884  zne *1
3885 OK
3886  ldc 32767
3887  ldc -100
3888  sbu W2S
3889  ldc 32867
3890  cmu W2S
3891  zne *1
3892 OK
3893 #if WS >= 2
3894  ldc 2147483647
3895  ldc -100
3896  sbu W2S
3897  ldc 2147483747
3898  cmu W2S
3899  zne *1
3900 OK
3901 #endif
3902 #endif
3903 TEST 135: test mlu W2S
3904 MAIN 0
3905 #ifdef W2S
3906  ldc 5
3907  ldc 9
3908  mlu W2S
3909  ldc 45
3910  cmu W2S
3911  zne *1
3912 OK
3913  ldc 0
3914  ldc 10
3915  mlu W2S
3916  ldc 0
3917  cmu W2S
3918  zne *1
3919 OK
3920 #if WS > 1
3921  ldc 1024
3922  ldc 63
3923  mlu W2S
3924  ldc 64512
3925  cmu W2S
3926  zne *1
3927 OK
3928 #endif
3929 #if WS >= 2
3930  ldc 65536
3931  ldc 32768
3932  mlu W2S
3933  ldc 2147483648
3934  cmu W2S
3935  zne *1
3936 OK
3937 #endif
3938 #endif
3939 TEST 136: test dvu W2S
3940 MAIN 0
3941 #ifdef W2S
3942  ldc 15
3943  ldc 5
3944  dvu W2S
3945  ldc 3
3946  cmu W2S
3947  zne *1
3948 OK
3949  ldc 65530
3950  ldc 100
3951  dvu W2S
3952  ldc 655
3953  cmu W2S
3954  zne *1
3955 OK
3956 #if WS >= 2
3957  ldc 2447684712
3958  ldc 100
3959  dvu W2S
3960  ldc 24476847
3961  cmu W2S
3962  zne *1
3963 OK
3964 #endif
3965 #endif
3966 TEST 137: test rmu W2S
3967 MAIN 0
3968 #ifdef W2S
3969  ldc 15
3970  ldc 5
3971  rmu W2S
3972  ldc 0
3973  cmu W2S
3974  zne *1
3975 OK
3976 #if WS >= 2
3977  ldc 65530
3978  ldc 100
3979  rmu W2S
3980  ldc 30
3981  cmu W2S
3982  zne *1
3983 OK
3984 #endif
3985 #if WS >= 4
3986  ldc 2447684712
3987  ldc 100
3988  rmu W2S
3989  ldc 12
3990  cmu W2S
3991  zne *1
3992 OK
3993 #endif
3994 #endif
3995 TEST 138: test cuu
3996 MAIN 0
3997 #ifdef W2S
3998  loc 100
3999  loc WS
4000  loc W2S
4001  cuu
4002  ldc 100
4003  cmu W2S
4004  zne *1
4005 OK
4006  ldc 100
4007  loc W2S
4008  loc WS
4009  cuu
4010  loc 100
4011  bne *1
4012 OK
4013 #if WS >= 2
4014  loc 32768
4015  loc WS
4016  loc W2S
4017  cuu
4018  ldc 32768
4019  cmu W2S
4020  zne *1
4021 OK
4022  ldc 32768
4023  loc W2S
4024  loc WS
4025  cuu
4026  loc 32768
4027  bne *1
4028 OK
4029 #endif
4030 #endif
4031 TEST 139: test gto, dch, lpb
4032 MAIN 0
4033 .1139
4034  rom *1139
4035  lae .1139
4036  loi PS
4037  lxa 0
4038  lxl 0
4039  cal $p139_1
4040 1139
4041  asp 3*PS
4042 OK
4043 PROC
4044  pro $p139_1,0
4045  lal 0
4046  loi PS
4047  lxl 0
4048  dch
4049  cmp
4050  zne *1
4051 OK
4052  lal PS
4053  loi PS
4054  lal 0
4055  loi PS
4056  lpb
4057  cmp
4058  zne *1
4059 OK
4060  lal 2*PS
4061  loi PS
4062  lal PS
4063  loi PS
4064  lal 0
4065  loi PS
4066  cal $p139_2
4067  asp 3*PS
4068  ret 0
4069 ERRLAB
4070  end 0
4071
4072  pro $p139_2,0
4073  lal 0
4074  loi PS
4075  lxl 0
4076  dch
4077  dch
4078  cmp
4079  zne *1
4080 OK
4081  lal PS
4082  loi PS
4083  lal 0
4084  loi PS
4085  lpb
4086  cmp
4087  zne *1
4088 OK
4089 ; now create GTO descriptor
4090  lal 0
4091  loi PS ; LB
4092  lxl 0
4093  dch
4094  lpb    ; SP
4095  lal 2*PS
4096  loi PS ; PC
4097 .2139
4098  bss 3*PS,0,0
4099  lae .2139
4100  sti 3*PS
4101  gto .2139
4102 ERRLAB
4103  end 0
4104 TEST 140: test exg
4105 MAIN 0
4106  loc 0
4107  loc 1
4108  exg WS
4109  loc 0
4110  bne *1
4111  loc 1
4112  bne *1
4113 OK
4114  loc 0
4115  loc 1
4116  loc 2
4117  loc 3
4118  exg 2*WS
4119  loc 1
4120  bne *1
4121  loc 0
4122  bne *1
4123  loc 3
4124  bne *1
4125  loc 2
4126  bne *1
4127 OK
4128  zer 4*WS
4129  loc 1
4130  loc 1
4131  dup 2*WS
4132  exg 4*WS
4133  zer 4*WS
4134  cms 4*WS
4135  zne *1
4136  loc 1
4137  loc 1
4138  dup 2*WS
4139  cms 4*WS
4140  zne *1
4141 OK
4142 TEST 141: test lim,sim,sig,trp,rtt
4143 MAIN 0
4144 a140
4145  con 0
4146  lim
4147  dup WS
4148  loc 9
4149  set WS
4150  ior WS
4151  dup WS
4152  sim
4153  lim
4154  bne *1
4155 OK
4156  lpi $p1_141
4157  sig
4158  loc 9
4159  trp
4160  sig
4161  asp PS
4162 OK
4163  sim
4164  lpi $p2_141
4165  sig
4166  loc 9
4167  trp
4168  sig
4169  asp PS
4170  loe a140
4171  zeq *1
4172 OK
4173 PROC
4174  pro $p1_141,0
4175  bra *1
4176 ERRLAB
4177  end
4178
4179  pro $p2_141,0
4180  loc 1
4181  ste a140
4182  rtt
4183  end
4184 TEST 142: test ciu, cui
4185 MAIN 0
4186  loc 100
4187  loc WS
4188  loc WS
4189  ciu
4190  loc 100
4191  bne *1
4192  loc -1
4193  loc WS
4194  loc WS
4195  ciu
4196  ; should not cause a trap
4197  asp WS
4198 OK
4199 #ifdef W2S
4200  loc 100
4201  loc WS 
4202  loc W2S
4203  ciu
4204  ldc 100
4205  cmu W2S
4206  zne *1
4207  ldc 100
4208  loc W2S
4209  loc WS
4210  ciu
4211  loc 100
4212  bne *1
4213  ldc 100
4214  loc W2S
4215  loc W2S
4216  ciu
4217  ldc 100
4218  cmu W2S
4219  zne *1
4220 OK
4221 #endif
4222  loc 100
4223  loc WS
4224  loc WS
4225  cui
4226  loc 100
4227  bne *1
4228 OK
4229 #ifdef W2S
4230  loc 100
4231  loc WS 
4232  loc W2S
4233  cui
4234  ldc 100
4235  cmi W2S
4236  zne *1
4237  ldc 100
4238  loc W2S
4239  loc WS
4240  cui
4241  loc 100
4242  bne *1
4243  ldc 100
4244  loc W2S
4245  loc W2S
4246  cui
4247  ldc 100
4248  cmi W2S
4249  zne *1
4250 OK
4251 #if WS >= 2
4252  loc 32768
4253  loc WS
4254  loc W2S
4255  cui
4256  ldc 32768
4257  cmi W2S
4258  zne *1
4259 OK
4260 #endif
4261 #endif
4262 TEST 143: test zrf
4263 MAIN 0
4264 #ifdef FS
4265  loc 0
4266  loc WS
4267  loc FS
4268  cif
4269  zrf FS
4270  cmf FS
4271  zne *1
4272 OK
4273 #endif
4274 #ifdef F2S
4275  loc 0
4276  loc WS
4277  loc F2S
4278  cif
4279  zrf F2S
4280  cmf F2S
4281  zne *1
4282 OK
4283 #endif
4284 TEST 144: test ngf
4285 MAIN 0
4286 #ifdef FS
4287  zrf FS
4288  loc 100
4289  loc WS
4290  loc FS
4291  cif
4292  sbf FS
4293  loc 100
4294  loc WS
4295  loc FS
4296  cif
4297  ngf FS
4298  cmf FS
4299  zne *1
4300 OK
4301 #endif
4302 #ifdef F2S
4303  zrf F2S
4304  loc 100
4305  loc WS
4306  loc F2S
4307  cif
4308  sbf F2S
4309  loc 100
4310  loc WS
4311  loc F2S
4312  cif
4313  ngf F2S
4314  cmf F2S
4315  zne *1
4316 OK
4317 #endif
4318 TEST 145: test cuf, cfu WS,FS
4319 MAIN 0
4320 #ifdef FS
4321  loc 100
4322  loc WS
4323  loc FS
4324  cuf
4325  loc FS
4326  loc WS
4327  cfu
4328  loc 100
4329  bne *1
4330 OK
4331  loc 0
4332  loc WS
4333  loc FS
4334  cuf
4335  loc FS
4336  loc WS
4337  cfu
4338  loc 0
4339  bne *1
4340 OK
4341 #endif
4342 TEST 146: test cuf, cfu W2S,FS
4343 MAIN 0
4344 #ifdef FS
4345 #ifdef W2S
4346  loc 55
4347  loc WS
4348  loc W2S
4349  cuu
4350  loc W2S
4351  loc FS
4352  cuf
4353  loc 55
4354  loc WS
4355  loc FS
4356  cuf
4357  cmf FS
4358  zne *1
4359 OK
4360  loc 24
4361  loc WS
4362  loc FS
4363  cuf
4364  loc FS
4365  loc W2S
4366  cfu
4367  loc W2S
4368  loc WS
4369  cuu
4370  loc 24
4371  bne *1
4372 OK
4373  loc 57
4374  loc WS
4375  loc FS
4376  cuf
4377  loc FS
4378  loc W2S
4379  cfu
4380  loc W2S
4381  loc WS
4382  cuu
4383  loc 57
4384  bne *1
4385 OK
4386  loc 40
4387  loc WS
4388  loc W2S
4389  cuu
4390  loc W2S
4391  loc FS
4392  cuf
4393  loc FS
4394  loc WS
4395  cfu
4396  loc 40
4397  bne *1
4398 OK
4399 #endif
4400 #endif
4401 TEST 147: test cuf, cfu WS,F2S
4402 MAIN 0
4403 #ifdef F2S
4404  loc 10
4405  loc WS
4406  loc F2S
4407  cuf
4408  loc F2S
4409  loc WS
4410  cfu
4411  loc 10
4412  bne *1
4413 OK
4414  loc 0
4415  loc WS
4416  loc F2S
4417  cuf
4418  loc F2S
4419  loc WS
4420  cfu
4421  loc 0
4422  bne *1
4423 OK
4424 #endif
4425 TEST 148: test cuf, cfu W2S F2S
4426 MAIN 0
4427 #ifdef F2S
4428 #ifdef W2S
4429  ldc 55
4430  loc W2S
4431  loc F2S
4432  cuf
4433  loc 55
4434  loc WS
4435  loc F2S
4436  cuf
4437  cmf F2S
4438  zne *1
4439 OK
4440  loc 24
4441  loc WS
4442  loc F2S
4443  cuf
4444  loc F2S
4445  loc W2S
4446  cfu
4447  loc W2S
4448  loc WS
4449  cuu
4450  loc 24
4451  bne *1
4452 OK
4453  loc 57
4454  loc WS
4455  loc F2S
4456  cuf
4457  loc F2S
4458  loc W2S
4459  cfu
4460  loc W2S
4461  loc WS
4462  cuu
4463  loc 57
4464  bne *1
4465 OK
4466  ldc 41
4467  loc W2S
4468  loc F2S
4469  cuf
4470  loc F2S
4471  loc WS
4472  cfu
4473  loc 41
4474  bne *1
4475 OK
4476 #endif
4477 #endif
4478 TEST 149: test cff
4479 MAIN 0
4480 #ifdef FS
4481 #ifdef F2S
4482  loc 0
4483  loc WS
4484  loc FS
4485  cif
4486  loc FS
4487  loc F2S
4488  cff
4489  dup F2S
4490  zrf F2S
4491  cmf F2S
4492  zne *1
4493  loc F2S
4494  loc FS
4495  cff
4496  zrf FS
4497  cmf FS
4498  zne *1
4499 OK
4500  loc 100
4501  loc WS
4502  loc FS
4503  cif
4504  loc FS
4505  loc F2S
4506  cff
4507  loc 100
4508  loc WS
4509  loc F2S
4510  cif
4511  cmf F2S
4512  zne *1
4513 OK
4514  loc 100
4515  loc WS
4516  loc F2S
4517  cif
4518  loc F2S
4519  loc FS
4520  cff
4521  loc 100
4522  loc WS
4523  loc FS
4524  cif
4525  cmf FS
4526  zne *1
4527 OK
4528 #endif
4529 #endif
4530 TEST 150: test fif
4531 MAIN 0
4532 #ifdef FS
4533  loc 50
4534  loc WS
4535  loc FS
4536  cif
4537  loc 2
4538  loc WS
4539  loc FS
4540  cif
4541  fif FS
4542  loc 100
4543  loc WS
4544  loc FS
4545  cif
4546  cmf FS
4547  zne *1
4548  zrf FS
4549  cmf FS
4550  zne *1
4551 OK
4552 #endif
4553 #ifdef F2S
4554  loc 50
4555  loc WS
4556  loc F2S
4557  cif
4558  loc 2
4559  loc WS
4560  loc F2S
4561  cif
4562  fif F2S
4563  loc 100
4564  loc WS
4565  loc F2S
4566  cif
4567  cmf F2S
4568  zne *1
4569  zrf F2S
4570  cmf F2S
4571  zne *1
4572 OK
4573 #endif
4574 TEST 151; test fef (needs more work)
4575 MAIN 0
4576 #ifdef FS
4577  loc 10
4578  loc WS
4579  loc FS
4580  cif
4581  fef FS
4582  loc 4
4583  bne *1
4584  asp FS
4585 OK
4586 #endif
4587 #ifdef F2S
4588  loc 10
4589  loc WS
4590  loc F2S
4591  cif
4592  fef F2S
4593  loc 4
4594  bne *1
4595  asp F2S
4596 OK
4597 #endif