LSX/src/cc/table.i
/
/ c code tables-- compile to register
/
.globl _regtab
.data
_regtab=.
106.; cr106
30.; cr70
31.; cr70
32.; cr32
33.; cr32
37.; cr37
38.; cr37
98.; cr100
99.; cr100
80.; cr80
40.; cr40
41.; cr40 / - like +
42.; cr42
43.; cr43
44.; cr43
45.; cr45
46.; cr40
55.; cr40
48.; cr40
49.; cr49
70.; cr70
71.; cr70
72.; cr72
73.; cr73
74.; cr74
75.; cr75
76.; cr72
78.; cr70
85.; cr70
79.; cr79
102.; cr102
51.; cr51
52.; cr52
56.; cr56
57.; cr57
58.; cr58
59.; cr59
91.; cr91
82.; cr82
83.; cr82
84.; cr82
86.; cr86
87.; cr86
88.; cr86
0
.text
/ goto
cr102=.+2; 0
.byte 20,0;.byte 77,0
L1
.data
L1:<jmp>;.byte 301;<\n>
<\0>
.text
.byte 177,0;.byte 77,0
L2
.data
L2:<GB>
<jmp>;.byte 243;<(I)\n>
<\0>
.text
/ call
cr100=.+2; 0
.byte 20,0;.byte 77,0
L3
.data
L3:<jsr>;.byte 360;<c,MA\n>
<\0>
.text
.byte 177,0;.byte 77,0
L4
.data
L4:<GB>
<jsr>;.byte 360;<c,#(I)\n>
<\0>
.text
.byte 77,0;.byte 77,0
L5
.data
L5:<GA>
<jsr>;.byte 360;<c,(I)\n>
<\0>
.text
/ addressible
cr106=.+2; 0
.byte 4,0;.byte 77,0
L6
.data
L6:<clr>;.byte 311;<\n>
<\0>
.text
.byte 4,4;.byte 77,0
L7
.data
L7:<clrf>;.byte 311;<\n>
<\0>
.text
.byte 20,0;.byte 77,0
L8
.text;.byte 20,5;.byte 77,0
L8
.data
L8:<movC>;.byte 301;<,I\n>
<\0>
.text
.byte 20,4;.byte 77,0
L9
.data
L9:<movof>;.byte 301;<,I\n>
<\0>
.text
.byte 177,0;.byte 77,0
L10
.text;.byte 177,5;.byte 77,0
L10
.data
L10:<GB>
<movC>;.byte 243;<(I),I\n>
<\0>
.text
.byte 177,4;.byte 77,0
L11
.data
L11:<GB>
<movof>;.byte 243;<(I),I\n>
<\0>
.text
.byte 20,10;.byte 77,0
L12
.data
L12:<mov>;.byte 301;<+,I+\n>
<mov>;.byte 301;<,I\n>
<\0>
.text
.byte 177,10;.byte 77,0
L13
.data
L13:<GB>
<mov>;.byte 243;<+2(I),I+\n>
<mov>;.byte 243;<(I),I\n>
<\0>
.text
/ ++,-- postfix
cr32=.+2; 0
.byte 20,0;.byte 5,0
L14
.data
L14:<movC>;.byte 301;<',I\n>
<M'C>;.byte 301;<\n>
<\0>
.text
.byte 20,1;.byte 77,0
L15
.data
L15:<mov>;.byte 301;<',I\n>
<M>;.byte 302;<,A\n>
<\0>
.text
.byte 124,0;.byte 5,0
L16
.data
L16:<GJ>
<movC>;.byte 243;<(J),I\n>
<M'C>;.byte 243;<(J)\n>
<\0>
.text
.byte 177,0;.byte 5,0
L17
.data
L17:<GB>
<movC>;.byte 243;<(I),-(sp)\n>
<M'C>;.byte 243;<(I)\n>
<movC>;.byte 250;<sp)+,I\n>
<\0>
.text
.byte 124,1;.byte 77,0
L18
.data
L18:<GJ>
<mov>;.byte 243;<(J),I\n>
<M>;.byte 302;<,#(J)\n>
<\0>
.text
.byte 177,1;.byte 77,0
L19
.data
L19:<GB>
<mov>;.byte 243;<(I),-(sp)\n>
<M>;.byte 302;<,#(I)\n>
<mov>;.byte 250;<sp)+,I\n>
<\0>
.text
.byte 20,10;.byte 5,0
L20
.data
L20:<GA>
<M>;.byte 244;<1,A+\n>
<V>;.byte 301;<\n>
<\0>
.text
.byte 124,10;.byte 5,0
L21
.data
L21:<GJ>
<mov>;.byte 243;<+2(J),I+\n>
<mov>;.byte 243;<(J),I\n>
<M>;.byte 244;<1,#+2(J)\n>
<V>;.byte 243;<(J)\n>
<\0>
.text
.byte 177,10;.byte 5,0
L22
.data
L22:<GB>
<mov>;.byte 243;<+2(I),-(sp)\n>
<mov>;.byte 243;<(I),-(sp)\n>
<add>;.byte 244;<1,#+2(I)\n>
<V>;.byte 243;<(I)\n>
<mov>;.byte 250;<sp)+,I\n>
<mov>;.byte 250;<sp)+,I+\n>
<\0>
.text
/ - unary, ~
cr37=.+2; 0
.byte 77,0;.byte 77,0
L23
.text;.byte 77,4;.byte 77,0
L23
.data
L23:<GA>
<MP>;.byte 311;<\n>
<\0>
.text
.byte 77,10;.byte 77,0
L24
.data
L24:<GA>
<M>;.byte 311;<\n>
<M>;.byte 311;<+\n>
<V>;.byte 311;<\n>
<\0>
.text
/ =
cr80=.+2; 0
.byte 20,0;.byte 77,0
L25
.text;.byte 20,5;.byte 77,4
L25
.data
L25:<KA>
<movC>;.byte 311;<,A\n>
<\0>
.text
.byte 20,4;.byte 77,4
L26
.data
L26:<KA>
<movfo>;.byte 311;<,A\n>
<\0>
.text
.byte 177,5;.byte 20,4
L27
.data
L27:<GB>
<KA>
<movf>;.byte 311;<,#(I)\n>
<\0>
.text
.byte 177,0;.byte 20,0
L28
.data
L28:<GB>
<movC>;.byte 302;<,#(I)\n>
<movC>;.byte 243;<(I),I\n>
<\0>
.text
.byte 177,4;.byte 20,4
L29
.data
L29:<GB>
<KA>
<movfo>;.byte 311;<,#(I)\n>
<\0>
.text
.byte 177,0;.byte 24,0
L30
.data
L30:<GB>
<KI>
<movC>;.byte 312;<,#(I)\n>
<movC>;.byte 312;<,I\n>
<\0>
.text
.byte 124,5;.byte 77,4
L31
.data
L31:<KA>
<GJ>
<movf>;.byte 311;<,#(J)\n>
<\0>
.text
.byte 124,4;.byte 77,4
L32
.data
L32:<KA>
<GJ>
<movfo>;.byte 311;<,#(J)\n>
<\0>
.text
.byte 177,0;.byte 77,0
L33
.text;.byte 177,5;.byte 77,4
L33
.data
L33:<GD>
<KA>
<movC>;.byte 311;<,*(sp)+\n>
<\0>
.text
.byte 177,4;.byte 77,4
L34
.data
L34:<GD>
<KA>
<movfo>;.byte 311;<,*(sp)+\n>
<\0>
.text
/ +, -, |, &~, <<
cr40=.+2; 0
.byte 77,0;.byte 4,0
L35
.data
L35:<GA>
<\0>
.text
.byte 77,0;.byte 5,0
L36
.data
L36:<GA>
<M'>;.byte 311;<\n>
<\0>
.text
.data;add1:;.text;.byte 77,0;.byte 20,1
L37
.text;.byte 77,4;.byte 20,5
L37
.data
L37:<GA>
<MD>;.byte 302;<,I\n>
<\0>
.text
.data;add2:;.text;.byte 77,0;.byte 124,1
L38
.text;.byte 77,4;.byte 124,5
L38
.data
L38:<GA>
<KJ>
<MD>;.byte 242;<(J),I\n>
<\0>
.text
.data;add3:;.text;.byte 77,0;.byte 24,0
L39
.text;.byte 77,4;.byte 24,4
L39
.data
L39:<GA>
<KI>
<MP>;.byte 312;<,I\n>
<\0>
.text
.data;add4:;.text;.byte 77,0;.byte 177,1
L40
.text;.byte 77,4;.byte 177,5
L40
.data
L40:<KD>
<GA>
<MD>;.byte 252;<(sp)+,I\n>
<\0>
.text
.data;add5:;.text;.byte 77,0;.byte 77,0
L41
.text;.byte 77,4;.byte 77,4
L41
.data
L41:<KC>
<GA>
<MP>;.byte 250;<sp)+,I\n>
<\0>
.text
.byte 77,10;.byte 10,0
L42
.data
L42:<GA>
<M>;.byte 302;<,I+\n>
<V>;.byte 311;<\n>
<\0>
.text
.byte 77,10;.byte 20,10
L43
.data
L43:<GA>
<M>;.byte 302;<,I\n>
<M>;.byte 302;<+,I+\n>
<V>;.byte 311;<\n>
<\0>
.text
.byte 77,10;.byte 24,10
L44
.data
L44:<GA>
<KI>
<M>;.byte 312;<+,I+\n>
<V>;.byte 311;<\n>
<M>;.byte 312;<,I\n>
<\0>
.text
.byte 77,10;.byte 77,10
L45
.data
L45:<KC>
<GA>
<M>;.byte 250;<sp)+,I\n>
<M>;.byte 250;<sp)+,I+\n>
<V>;.byte 311;<\n>
<\0>
.text
/ ^ -- xor
cr49=.+2; 0
.byte 77,0;.byte 24,0
L46
.text;L46=add3
.byte 77,0;.byte 77,0
L47
.data
L47:<GC>
<KA>
<xor>;.byte 311;<,(sp)\n>
<mov>;.byte 250;<sp)+,I\n>
<\0>
.text
/ >> (all complicated cases taken care of by << -)
cr45=.+2; 0
.byte 77,0;.byte 5,0
L48
.data
L48:<GA>
<asr>;.byte 311;<\n>
<\0>
.text
/ * -- I must be odd on integers
cr42=.+2; 0
.byte 77,0;.byte 20,1
L49
.text;.byte 77,4;.byte 20,5
L49
.text;L49=add1
.byte 77,0;.byte 124,1
L50
.text;.byte 77,4;.byte 124,5
L50
.text;L50=add2
.byte 77,0;.byte 24,0
L51
.text;.byte 77,4;.byte 24,4
L51
.text;L51=add3
.byte 77,0;.byte 77,0
L52
.text;.byte 77,4;.byte 77,4
L52
.text;L52=add5
/ / I must be odd on integers
cr43=.+2; 0
.byte 77,0;.byte 20,1
L53
.data
L53:<GA>
<T>
<sxt>;.byte 311;<-\n>
<div>;.byte 302;<,I-\n>
<\0>
.text
.byte 77,0;.byte 124,1
L54
.data
L54:<GA>
<T>
<sxt>;.byte 311;<-\n>
<KJ>
<div>;.byte 242;<(J),I-\n>
<\0>
.text
.byte 77,0;.byte 24,0
L55
.data
L55:<GA>
<T>
<sxt>;.byte 311;<-\n>
<KI>
<div>;.byte 312;<,I-\n>
<\0>
.text
.byte 77,0;.byte 77,0
L56
.data
L56:<KC>
<GA>
<T>
<sxt>;.byte 311;<-\n>
<div>;.byte 250;<sp)+,I-\n>
<\0>
.text
.byte 77,4;.byte 20,5
L57
.text;L57=add1
.byte 77,4;.byte 124,5
L58
.text;L58=add2
.byte 77,4;.byte 24,4
L59
.text;L59=add3
.byte 77,4;.byte 77,4
L60
.text;L60=add5
/ =+, =-, =|, =&~
cr70=.+2; 0
.data;addq1:;.text;.byte 20,1;.byte 20,1
L61
.data
L61:<M>;.byte 302;<,A'\n>
<mov>;.byte 301;<,I\n>
<\0>
.text
.data;addq1a:;.text;.byte 20,0;.byte 20,1
L62
.text;.byte 20,5;.byte 20,5
L62
.data
L62:<movC>;.byte 301;<',I\n>
<MP>;.byte 302;<,I\n>
<movC>;.byte 311;<,A\n>
<\0>
.text
.data;addq2:;.text;.byte 20,1;.byte 177,1
L63
.data
L63:<KB>
<M>;.byte 242;<(I),A'\n>
<mov>;.byte 301;<,I\n>
<\0>
.text
.data;addq3:;.text;.byte 20,1;.byte 77,0
L64
.data
L64:<KA>
<M>;.byte 311;<,A'\n>
<mov>;.byte 301;<,I\n>
<\0>
.text
.data;addq4:;.text;.byte 124,1;.byte 177,1
L65
.data
L65:<KB>
<GJ>
<M>;.byte 242;<(I),#(J)\n>
<mov>;.byte 243;<(J),I\n>
<\0>
.text
.data;addq4a:;.text;.byte 20,5;.byte 24,4
L66
.data
L66:<movf>;.byte 301;<',I\n>
<KI>
<MP>;.byte 312;<,I\n>
<movf>;.byte 311;<,A\n>
<\0>
.text
.data;addq5:;.text;.byte 20,0;.byte 77,0
L67
.text;.byte 20,5;.byte 77,4
L67
.data
L67:<KC>
<movC>;.byte 301;<',I\n>
<MP>;.byte 250;<sp)+,I\n>
<movC>;.byte 311;<,A\n>
<\0>
.text
.data;addq6:;.text;.byte 20,4;.byte 77,4
L68
.data
L68:<KC>
<movof>;.byte 301;<',I\n>
<MP>;.byte 250;<sp)+,I\n>
<movfo>;.byte 311;<,A\n>
<\0>
.text
.data;addq7:;.text;.byte 124,1;.byte 77,0
L69
.data
L69:<KA>
<GJ>
<M>;.byte 311;<,#(J)\n>
<mov>;.byte 243;<(J),I\n>
<\0>
.text
.data;addq8:;.text;.byte 177,1;.byte 77,0
L70
.data
L70:<KC>
<GB>
<M>;.byte 250;<sp)+,#(I)\n>
<mov>;.byte 243;<(I),I\n>
<\0>
.text
.data;addq9:;.text;.byte 177,0;.byte 77,0
L71
.data
L71:<GD>
<KC>
<movC>;.byte 252;<2(sp),I\n>
<MP>;.byte 250;<sp)+,I\n>
<movC>;.byte 311;<,*(sp)+\n>
<\0>
.text
.data;addq9a:;.text;.byte 177,5;.byte 77,4
L72
.data
L72:<KC>
<GB>
<movC>;.byte 243;<(I),I\n>
<MP>;.byte 250;<sp)+,I\n>
<movC>;.byte 311;<,#(I)\n>
<\0>
.text
.data;addq10:;.text;.byte 177,4;.byte 77,4
L73
.data
L73:<KC>
<GB>
<movof>;.byte 243;<(I),J\n>
<MP>;.byte 250;<sp)+,J\n>
<movfo>;.byte 312;<,#(I)\n>
<movf>;.byte 312;<,I\n>
<\0>
.text
/ =*, =<< (for integer multiply, I must be odd)
cr72=.+2; 0
.byte 20,0;.byte 20,1
L74
.text;.byte 20,5;.byte 20,5
L74
.text;L74=addq1a
.byte 20,4;.byte 77,4
L75
.text;L75=addq6
.byte 20,5;.byte 24,4
L76
.text;L76=addq4a
.byte 20,0;.byte 77,0
L77
.text;.byte 20,5;.byte 77,4
L77
.text;L77=addq5
.byte 177,0;.byte 77,0
L78
.text;L78=addq9
.byte 177,5;.byte 77,4
L79
.text;L79=addq9a
.byte 177,4;.byte 77,4
L80
.text;L80=addq10
/ =/ ; I must be odd on integers
cr73=.+2; 0
.byte 20,0;.byte 20,1
L81
.data
L81:<movC>;.byte 301;<',I\n>
<sxt>;.byte 311;<-\n>
<divP>;.byte 302;<,I-\n>
<movC>;.byte 311;<-,A\n>
<\0>
.text
.byte 20,0;.byte 77,0
L82
.data
L82:<KC>
<movC>;.byte 301;<',I\n>
<sxt>;.byte 311;<-\n>
<div>;.byte 250;<sp)+,I-\n>
<movC>;.byte 311;<-,A\n>
<\0>
.text
.byte 124,0;.byte 77,0
L83
.data
L83:<KC>
<GJ>
<movC>;.byte 243;<(J),I\n>
<sxt>;.byte 311;<-\n>
<div>;.byte 250;<sp)+,I-\n>
<movC>;.byte 311;<-,#(J)\n>
<\0>
.text
.byte 177,0;.byte 77,0
L84
.data
L84:<GD>
<KC>
<movC>;.byte 252;<2(sp),I\n>
<sxt>;.byte 311;<-\n>
<div>;.byte 250;<sp)+,I-\n>
<movC>;.byte 311;<-,*(sp)+\n>
<\0>
.text
.byte 20,5;.byte 20,5
L85
.text;L85=addq1a
.byte 20,5;.byte 24,4
L86
.text;L86=addq4a
.byte 20,5;.byte 77,4
L87
.text;L87=addq5
.byte 20,4;.byte 77,4
L88
.text;L88=addq6
.byte 177,5;.byte 77,4
L89
.text;L89=addq9a
.byte 177,4;.byte 77,4
L90
.text;L90=addq10
/ =mod; I must be odd on integers
cr74=.+2; 0
.byte 20,0;.byte 20,1
L91
.data
L91:<movC>;.byte 301;<',I\n>
<sxt>;.byte 311;<-\n>
<div>;.byte 302;<,I-\n>
<movC>;.byte 311;<,A\n>
<\0>
.text
.byte 20,0;.byte 77,0
L92
.data
L92:<KC>
<movC>;.byte 301;<',I\n>
<sxt>;.byte 311;<-\n>
<div>;.byte 250;<sp)+,I-\n>
<movC>;.byte 311;<,A\n>
<\0>
.text
.byte 124,0;.byte 77,0
L93
.data
L93:<KC>
<GJ>
<movC>;.byte 243;<(J),I\n>
<sxt>;.byte 311;<-\n>
<div>;.byte 250;<sp)+,I-\n>
<movC>;.byte 311;<,#(J)\n>
<\0>
.text
.byte 177,0;.byte 77,0
L94
.data
L94:<GD>
<KC>
<movC>;.byte 252;<2(sp),I\n>
<sxt>;.byte 311;<-\n>
<div>;.byte 250;<sp)+,I-\n>
<mov>;.byte 311;<,*(sp)+\n>
<\0>
.text
/ =^ -- =xor
cr79=.+2; 0
.byte 20,1;.byte 77,0
L95
.text;L95=addq3
.byte 20,3;.byte 77,0
L96
.data
L96:<KC>
<movb>;.byte 301;<',I\n>
<xor>;.byte 311;<,(sp)\n>
<mov>;.byte 250;<sp)+,I\n>
<movb>;.byte 311;<,A\n>
<\0>
.text
.byte 177,0;.byte 77,0
L97
.data
L97:<GD>
<movC>;.byte 252;<(sp),-(sp)\n>
<KA>
<xor>;.byte 311;<,(sp)\n>
<movC>;.byte 250;<sp)+,I\n>
<movC>;.byte 311;<,*(sp)+\n>
<\0>
.text
/ =>> (all complicated cases done by =<< -)
cr75=.+2; 0
.byte 20,0;.byte 5,0
L98
.data
L98:<asrC>;.byte 301;<'\n>
<movC>;.byte 301;<,I\n>
<\0>
.text
.byte 177,0;.byte 5,0
L99
.data
L99:<GB>
<asrC>;.byte 243;<(I)\n>
<movC>;.byte 243;<(I),I\n>
<\0>
.text
/ << for longs
cr91=.+2; 0
.byte 77,10;.byte 20,1
L100
.text;L100=add1
.byte 77,10;.byte 124,1
L101
.text;L101=add2
.byte 77,10;.byte 24,0
L102
.text;L102=add3
.byte 77,10;.byte 177,1
L103
.text;L103=add4
.byte 77,10;.byte 77,0
L104
.text;L104=add5
/ int -> float
cr51=.+2; 0
.byte 20,1;.byte 77,0
L105
.data
L105:<movif>;.byte 301;<,I\n>
<\0>
.text
.byte 177,1;.byte 77,0
L106
.data
L106:<GB>
<movif>;.byte 243;<(I),I\n>
<\0>
.text
.byte 77,0;.byte 77,0
L107
.data
L107:<GA>
<movif>;.byte 311;<,I\n>
<\0>
.text
/ float, double -> int
cr52=.+2; 0
.byte 77,4;.byte 77,0
L108
.data
L108:<GA>
<movfi>;.byte 311;<,I\n>
<\0>
.text
/ double (float) to long
cr56=.+2; 0
.byte 77,4;.byte 77,0
L109
.data
L109:<GA>
<setl\n>
<movfi>;.byte 311;<,-(sp)\n>
<mov>;.byte 250;<sp)+,I\n>
<mov>;.byte 250;<sp)+,I+\n>
<seti\n>
<\0>
.text
/ long to double
cr57=.+2; 0
.byte 20,10;.byte 77,0
L110
.data
L110:<setl\n>
<movif>;.byte 301;<,I\n>
<seti\n>
<\0>
.text
.byte 177,10;.byte 77,0
L111
.data
L111:<GB>
<setl\n>
<movif>;.byte 243;<(I),I\n>
<seti\n>
<\0>
.text
.byte 77,10;.byte 77,0
L112
.data
L112:<GC>
<setl\n>
<movif>;.byte 250;<sp)+,I\n>
<seti\n>
<\0>
.text
/ integer to long
cr58=.+2; 0
.byte 77,0;.byte 77,0
L113
.data
L113:<GI!>
<sxt>;.byte 311;<\n>
<\0>
.text
/ long to integer
cr59=.+2; 0
.byte 20,10;.byte 77,0
L114
.data
L114:<mov>;.byte 301;<+,I\n>
<\0>
.text
.byte 177,10;.byte 77,0
L115
.data
L115:<GB>
<mov>;.byte 243;<+2(I),I\n>
<\0>
.text
.byte 77,10;.byte 77,0
L116
.data
L116:<GA>
<mov>;.byte 311;<+,I\n>
<\0>
.text
/ *, /, remainder for longs.
cr82=.+2; 0
.byte 77,10;.byte 77,10
L117
.data
L117:<KC>
<GC>
<jsr>;.byte 360;<c,M\n>
<add>;.byte 244;<10,sp\n>
<\0>
.text
/ =*, =/, =rem for longs
/ Operands of the form &x op y, so stack space is known.
cr86=.+2; 0
.byte 77,0;.byte 77,10
L118
.data
L118:<KC>
<GC>
<jsr>;.byte 360;<c,M\n>
<add>;.byte 244;<6,sp\n>
<\0>
.text
/
/ c code tables -- compile for side effects.
/ Olso set condition codes properly (except for ++, --)
/
.globl _efftab
.data
_efftab=.
30.; ci70
31.; ci70
32.; ci70
33.; ci70
80.; ci80
70.; ci70
71.; ci70 / - like +
78.; ci78
85.; ci78
75.; ci75
76.; ci76
92.; ci92
0
.text
/ =
ci80=.+2; 0
.data;move1:;.text;.byte 20,0;.byte 4,0
L119
.text;.byte 20,5;.byte 4,4
L119
.data
L119:<M'C>;.byte 301;<\n>
<\0>
.text
.data;move2:;.text;.byte 177,0;.byte 4,0
L120
.text;.byte 177,5;.byte 4,4
L120
.data
L120:<GB>
<M'C>;.byte 243;<(I)\n>
<\0>
.text
.data;move3:;.text;.byte 20,0;.byte 20,1
L121
.text;.byte 20,3;.byte 20,0
L121
.data
L121:<ML>;.byte 302;<,A\n>
<\0>
.text
.data;move4:;.text;.byte 20,3;.byte 177,0
L122
.text;.byte 20,0;.byte 177,1
L122
.data
L122:<KB>
<ML>;.byte 242;<(I),A\n>
<\0>
.text
.data;move5:;.text;.byte 20,0;.byte 77,0
L123
.data
L123:<KA>
<MC>;.byte 311;<,A\n>
<\0>
.text
.data;move6:;.text;.byte 177,0;.byte 20,1
L124
.text;.byte 177,3;.byte 20,0
L124
.data
L124:<GB>
<ML>;.byte 302;<,#(I)\n>
<\0>
.text
.data;move7:;.text;.byte 177,0;.byte 124,1
L125
.text;.byte 177,3;.byte 124,0
L125
.data
L125:<GB>
<KJ>
<ML>;.byte 242;<(J),#(I)\n>
<\0>
.text
.data;move8:;.text;.byte 177,0;.byte 24,0
L126
.data
L126:<GB>
<KI>
<MC>;.byte 312;<,#(I)\n>
<\0>
.text
.data;move9:;.text;.byte 124,0;.byte 177,1
L127
.text;.byte 124,3;.byte 177,0
L127
.data
L127:<KB>
<GJ>
<ML>;.byte 242;<(I),#(J)\n>
<\0>
.text
.data;move10:;.text;.byte 124,0;.byte 77,0
L128
.data
L128:<KA>
<GJ>
<MC>;.byte 311;<,#(J)\n>
<\0>
.text
.data;move11:;.text;.byte 177,0;.byte 177,1
L129
.text;.byte 177,3;.byte 177,0
L129
.data
L129:<GD>
<KB>
<ML>;.byte 242;<(I),*(sp)+\n>
<\0>
.text
.data;move12:;.text;.byte 177,0;.byte 77,0
L130
.data
L130:<GD>
<KA>
<MC>;.byte 311;<,*(sp)+\n>
<\0>
.text
.byte 20,10;.byte 4,0
L131
.data
L131:<clr>;.byte 301;<\n>
<clr>;.byte 301;<+\n>
<\0>
.text
.byte 20,10;.byte 20,1
L132
.data
L132:<mov>;.byte 302;<,A+\n>
<sxt>;.byte 301;<\n>
<\0>
.text
.byte 20,10;.byte 177,1
L133
.data
L133:<mov>;.byte 242;<(I),A+\n>
<sxt>;.byte 301;<\n>
<\0>
.text
.byte 20,10;.byte 77,0
L134
.data
L134:<KA>
<mov>;.byte 311;<,A+\n>
<sxt>;.byte 301;<\n>
<\0>
.text
.byte 20,10;.byte 77,4
L135
.data
L135:<KA>
<setl\n>
<movfi>;.byte 311;<,A\n>
<seti\n>
<\0>
.text
.byte 124,10;.byte 77,4
L136
.data
L136:<KA>
<GJ>
<setl\n>
<movfi>;.byte 311;<,#(J)\n>
<seti\n>
<\0>
.text
.data;move13a:;.text;.byte 20,10;.byte 10,0
L137
.data
L137:<M>;.byte 302;<,A+\n>
<V>;.byte 301;<\n>
<\0>
.text
.data;move13:;.text;.byte 20,10;.byte 20,10
L138
.data
L138:<M>;.byte 302;<,A\n>
<M>;.byte 302;<+,A+\n>
<V>;.byte 301;<\n>
<\0>
.text
.data;move14:;.text;.byte 20,10;.byte 177,10
L139
.data
L139:<KB>
<M>;.byte 242;<(I),A\n>
<M>;.byte 242;<+2(I),A+\n>
<V>;.byte 301;<\n>
<\0>
.text
.data;move14a:;.text;.byte 177,10;.byte 10,0
L140
.data
L140:<GB>
<M>;.byte 302;<,2+#(I)\n>
<V>;.byte 243;<(I)\n>
<\0>
.text
.data;move15:;.text;.byte 20,10;.byte 77,10
L141
.data
L141:<KA>
<M>;.byte 311;<,A\n>
<M>;.byte 311;<+,A+\n>
<V>;.byte 301;<\n>
<\0>
.text
.byte 177,10;.byte 20,1
L142
.data
L142:<GB>
<mov>;.byte 302;<,#+2(I)\n>
<sxt>;.byte 243;<(I)\n>
<\0>
.text
.data;move16:;.text;.byte 124,10;.byte 77,10
L143
.data
L143:<KA>
<GJ>
<M>;.byte 311;<+,#+2(J)\n>
<V>;.byte 243;<(J)\n>
<M>;.byte 311;<,#(J)\n>
<\0>
.text
.byte 177,10;.byte 77,0
L144
.data
L144:<KC>
<GB>
<mov>;.byte 250;<sp)+,#+2(I)\n>
<sxt>;.byte 243;<(I)\n>
<\0>
.text
.data;move17:;.text;.byte 177,10;.byte 77,10
L145
.data
L145:<KC>
<GB>
<M>;.byte 250;<sp)+,#(I)\n>
<M>;.byte 250;<sp)+,#+2(I)\n>
<V>;.byte 243;<(I)\n>
<\0>
.text
/ =| and =& ~
ci78=.+2; 0
.byte 20,0;.byte 20,0
L146
.text;L146=move3
.byte 20,0;.byte 77,0
L147
.text;L147=move5
.byte 177,0;.byte 20,0
L148
.text;L148=move6
.byte 177,0;.byte 124,0
L149
.text;L149=move7
.byte 177,0;.byte 24,0
L150
.text;L150=move8
.byte 124,0;.byte 177,0
L151
.text;L151=move9
.byte 124,0;.byte 77,0
L152
.text;L152=move10
.byte 177,0;.byte 177,0
L153
.text;L153=move11
.byte 177,0;.byte 77,0
L154
.text;L154=move12
.byte 20,10;.byte 10,0
L155
.text;L155=move13a
.byte 20,10;.byte 20,10
L156
.text;L156=move13
.byte 20,10;.byte 177,10
L157
.text;L157=move14
.byte 20,10;.byte 77,10
L158
.text;L158=move15
.byte 177,10;.byte 10,0
L159
.text;L159=move14a
.byte 124,10;.byte 77,10
L160
.text;L160=move16
.byte 177,10;.byte 77,10
L161
.text;L161=move17
/ =+
ci70=.+2; 0
.byte 177,0;.byte 4,0
L162
.text;.byte 20,0;.byte 4,0
L162
.data
L162:<\0>
.text
.byte 20,0;.byte 5,0
L163
.data
L163:<M'C>;.byte 301;<\n>
<\0>
.text
.byte 20,1;.byte 20,1
L164
.text;L164=move3
.byte 20,1;.byte 177,1
L165
.text;L165=move4
.byte 20,1;.byte 77,0
L166
.text;L166=move5
.byte 177,0;.byte 5,0
L167
.text;L167=move2
.byte 124,1;.byte 177,1
L168
.text;L168=move9
.byte 20,0;.byte 177,1
L169
.data
L169:<KB>
<movC>;.byte 301;<',J\n>
<M>;.byte 242;<(I),J\n>
<movC>;.byte 312;<,A\n>
<\0>
.text
.byte 20,0;.byte 77,0
L170
.data
L170:<KA>
<movC>;.byte 301;<',J\n>
<M>;.byte 311;<,J\n>
<movC>;.byte 312;<,A\n>
<\0>
.text
.byte 124,1;.byte 77,0
L171
.text;L171=move10
.byte 177,1;.byte 77,0
L172
.text;L172=move12
.byte 177,0;.byte 77,0
L173
.data
L173:<KC>
<GB>
<movC>;.byte 243;<(I),J\n>
<M>;.byte 250;<sp)+,J\n>
<movC>;.byte 312;<,#(I)\n>
<\0>
.text
.byte 20,10;.byte 10,0
L174
.text;L174=move13a
.byte 20,10;.byte 20,10
L175
.text;L175=move13
.byte 20,10;.byte 177,10
L176
.text;L176=move14
.byte 20,10;.byte 77,10
L177
.text;L177=move15
.byte 177,10;.byte 10,0
L178
.text;L178=move14a
.byte 124,10;.byte 77,10
L179
.text;L179=move16
.byte 177,10;.byte 77,10
L180
.text;L180=move17
/ =>> (all harder cases handled by =<< -)
ci75=.+2; 0
.byte 20,0;.byte 5,0
L181
.data
L181:<asrC>;.byte 301;<\n>
<\0>
.text
.byte 177,0;.byte 5,0
L182
.data
L182:<GB>
<asrC>;.byte 243;<(I)\n>
<\0>
.text
/ =<<
ci76=.+2; 0
.byte 20,0;.byte 5,0
L183
.data
L183:<aslC>;.byte 301;<\n>
<\0>
.text
.byte 177,0;.byte 5,0
L184
.data
L184:<GB>
<aslC>;.byte 243;<(I)\n>
<\0>
.text
.byte 11,0;.byte 20,1
L185
.data
L185:<ash>;.byte 302;<,A\n>
<\0>
.text
.byte 11,0;.byte 177,1
L186
.data
L186:<KB>
<ash>;.byte 242;<(I),A\n>
<\0>
.text
.byte 11,0;.byte 77,0
L187
.data
L187:<KA>
<ash>;.byte 311;<,A\n>
<\0>
.text
/ =<< for longs
ci92=.+2; 0
.byte 20,10;.byte 20,1
L188
.data
L188:<GA>
<ashc>;.byte 302;<,I\n>
<mov>;.byte 311;<,A\n>
<mov>;.byte 311;<+,A+\n>
<\0>
.text
.byte 20,10;.byte 77,0
L189
.data
L189:<KC>
<GA>
<ashc>;.byte 250;<sp)+,I\n>
<mov>;.byte 311;<,A\n>
<mov>;.byte 311;<+,A+\n>
<\0>
.text
.byte 177,10;.byte 77,0
L190
.data
L190:<GD>
<KC>
<mov>;.byte 262;<(sp),I\n>
<mov>;.byte 262;<(I),I+\n>
<mov>;.byte 250;<I),I\n>
<ashc>;.byte 250;<sp)+,I\n>
<mov>;.byte 311;<,*(sp)\n>
<mov>;.byte 250;<sp)+,I\n>
<mov>;.byte 311;<+,2(I)\n>
<\0>
.text
/
/ c code tables-- set condition codes
/
.globl _cctab
.data
_cctab=.
106.; cc60
28.; rest
55.; rest
34.; rest
35.; rest
36.; rest
37.; rest
40.; rest
41.; rest
42.; rest
43.; rest
45.; rest
46.; rest
81.; cc81 / & as in "if ((a&b)==0)"
48.; rest
60.; cc60
61.; cc60
62.; cc60
63.; cc60
64.; cc60
65.; cc60
66.; cc60
67.; cc60
68.; cc60
69.; cc60
72.; rest
73.; rest
79.; rest
0
.text
/ relationals
cc60=.+2; 0
.byte 20,0;.byte 4,0
L191
.text;.byte 20,5;.byte 4,4
L191
.text;L191=move1
.byte 20,4;.byte 4,0
L192
.data
L192:<movof>;.byte 301;<,I\n>
<\0>
.text
.byte 177,0;.byte 4,0
L193
.text;.byte 177,5;.byte 4,4
L193
.text;L193=move2
.byte 177,4;.byte 4,0
L194
.data
L194:<GB>
<movof>;.byte 243;<(I),I\n>
<\0>
.text
.byte 77,0;.byte 4,0
L195
.text;.byte 77,4;.byte 4,4
L195
.data
L195:<GE>
<\0>
.text
.byte 20,1;.byte 20,1
L196
.text;.byte 20,3;.byte 20,3
L196
.text;L196=move3
.byte 177,1;.byte 20,1
L197
.text;.byte 177,3;.byte 20,3
L197
.text;L197=move6
.byte 77,0;.byte 20,1
L198
.text;.byte 77,4;.byte 20,5
L198
.text;L198=add1
.byte 177,1;.byte 124,1
L199
.text;.byte 177,3;.byte 124,3
L199
.text;L199=move7
.byte 177,1;.byte 24,0
L200
.text;L200=move8
.byte 77,0;.byte 124,1
L201
.text;.byte 77,4;.byte 124,5
L201
.text;L201=add2
.byte 77,0;.byte 24,0
L202
.text;.byte 77,4;.byte 24,4
L202
.text;L202=add3
.byte 177,1;.byte 177,1
L203
.text;.byte 177,3;.byte 177,3
L203
.text;L203=move11
.byte 177,1;.byte 77,0
L204
.text;L204=move12
.byte 77,0;.byte 77,0
L205
.text;.byte 77,4;.byte 77,4
L205
.text;L205=add5
/ & as in "if ((a&b) ==0)"
cc81=.+2; 0
.byte 20,0;.byte 20,0
L206
.text;L206=move3
.byte 177,0;.byte 20,0
L207
.text;L207=move6
.byte 77,0;.byte 20,0
L208
.text;L208=add1
.byte 77,0;.byte 24,0
L209
.text;L209=add3
.byte 77,0;.byte 77,0
L210
.text;L210=add5
/ set codes right
rest=.+2; 0
.byte 77,0;.byte 77,0
L211
.text;.byte 77,4;.byte 77,4
L211
.data
L211:<HA>
<\0>
.text
/
/ c code tables-- expression to -(sp)
/
.globl _sptab
.data
_sptab=.
106.; cs106
40.; cs40
41.; cs40
55.; cs40
48.; cs40
58.; cs58
56.; cs56
0
.text
/ name
cs106=.+2; 0
.byte 4,0;.byte 77,0
L212
.text;.byte 4,4;.byte 77,0
L212
.data
L212:<clrC>;.byte 255;<(sp)\n>
<\0>
.text
.byte 20,1;.byte 77,0
L213
.data
L213:<mov>;.byte 301;<,-(sp)\n>
<\0>
.text
.byte 177,1;.byte 77,0
L214
.data
L214:<GB>
<mov>;.byte 243;<(I),-(sp)\n>
<\0>
.text
.byte 20,10;.byte 77,0
L215
.data
L215:<mov>;.byte 301;<+,-(sp)\n>
<mov>;.byte 301;<,-(sp)\n>
<\0>
.text
/ +, -, |, &~
cs40=.+2; 0
.byte 77,0;.byte 5,0
L216
.data
L216:<GC>
<M'>;.byte 250;<sp)\n>
<\0>
.text
.byte 77,0;.byte 20,1
L217
.data
L217:<GC>
<M>;.byte 302;<,(sp)\n>
<\0>
.text
.byte 77,0;.byte 177,1
L218
.data
L218:<GC>
<KB>
<M>;.byte 242;<(I),(sp)\n>
<\0>
.text
.byte 77,0;.byte 77,0
L219
.data
L219:<GC>
<KA>
<M>;.byte 311;<,(sp)\n>
<\0>
.text
/ integer to long
cs58=.+2; 0
.byte 77,0;.byte 77,0
L220
.data
L220:<GC>
<sxt>;.byte 255;<(sp)\n>
<\0>
.text
/ float to long
cs56=.+2; 0
.byte 77,4;.byte 77,0
L221
.data
L221:<GA>
<setl\n>
<movfi>;.byte 311;<,-(sp)\n>
<seti\n>
<\0>
.text
.text; 0