@@ -49,35 +49,35 @@ static ANM_INS_06: &'static CoreSignatures = &CoreSignatures {
4949 ( Th06 , 0 , Some ( ( "" , None ) ) ) ,
5050 ( Th06 , 1 , Some ( ( "n" , None ) ) ) ,
5151 ( Th06 , 2 , Some ( ( "ff" , None ) ) ) ,
52- ( Th06 , 3 , Some ( ( "S " , None ) ) ) ,
53- ( Th06 , 4 , Some ( ( "C " , None ) ) ) ,
52+ ( Th06 , 3 , Some ( ( "b(hex)--- " , None ) ) ) ,
53+ ( Th06 , 4 , Some ( ( "b(hex)b(hex)b(hex)- " , None ) ) ) ,
5454 ( Th06 , 5 , Some ( ( "o" , Some ( IKind :: Jmp ) ) ) ) ,
5555 ( Th06 , 6 , Some ( ( "" , None ) ) ) ,
5656 ( Th06 , 7 , Some ( ( "" , None ) ) ) ,
5757 ( Th06 , 8 , Some ( ( "" , None ) ) ) ,
5858 ( Th06 , 9 , Some ( ( "fff" , None ) ) ) ,
5959 ( Th06 , 10 , Some ( ( "fff" , None ) ) ) ,
6060 ( Th06 , 11 , Some ( ( "ff" , None ) ) ) ,
61- ( Th06 , 12 , Some ( ( "SS " , None ) ) ) ,
61+ ( Th06 , 12 , Some ( ( "b(hex)---s-- " , None ) ) ) ,
6262 ( Th06 , 13 , Some ( ( "" , None ) ) ) ,
6363 ( Th06 , 14 , Some ( ( "" , None ) ) ) ,
6464 ( Th06 , 15 , Some ( ( "" , None ) ) ) ,
65- ( Th06 , 16 , Some ( ( "nS " , None ) ) ) ,
65+ ( Th06 , 16 , Some ( ( "nu-- " , None ) ) ) ,
6666 ( Th06 , 17 , Some ( ( "fff" , None ) ) ) ,
67- ( Th06 , 18 , Some ( ( "fffS " , None ) ) ) ,
68- ( Th06 , 19 , Some ( ( "fffS " , None ) ) ) ,
69- ( Th06 , 20 , Some ( ( "fffS " , None ) ) ) ,
67+ ( Th06 , 18 , Some ( ( "fffs-- " , None ) ) ) ,
68+ ( Th06 , 19 , Some ( ( "fffs-- " , None ) ) ) ,
69+ ( Th06 , 20 , Some ( ( "fffs-- " , None ) ) ) ,
7070 ( Th06 , 21 , Some ( ( "" , None ) ) ) ,
7171 ( Th06 , 22 , Some ( ( "S" , Some ( IKind :: InterruptLabel ) ) ) ) ,
7272 ( Th06 , 23 , Some ( ( "" , None ) ) ) ,
7373 ( Th06 , 24 , Some ( ( "" , None ) ) ) ,
74- ( Th06 , 25 , Some ( ( "S" , None ) ) ) ,
75- ( Th06 , 26 , Some ( ( "S " , None ) ) ) ,
74+ ( Th06 , 25 , Some ( ( r#"U(enum="bool")"# , None ) ) ) , // zero: U(enum="BitBool")
75+ ( Th06 , 26 , Some ( ( "s-- " , None ) ) ) ,
7676 ( Th06 , 27 , Some ( ( "f" , None ) ) ) ,
7777 ( Th06 , 28 , Some ( ( "f" , None ) ) ) ,
78- ( Th06 , 29 , Some ( ( "S" , None ) ) ) ,
79- ( Th06 , 30 , Some ( ( "ffS " , None ) ) ) ,
80- ( Th06 , 31 , Some ( ( "S" , None ) ) ) ,
78+ ( Th06 , 29 , Some ( ( r#"U(enum="bool")"# , None ) ) ) , // zero: U(enum="BitBool")
79+ ( Th06 , 30 , Some ( ( "ffs-- " , None ) ) ) ,
80+ ( Th06 , 31 , Some ( ( r#"U(enum="bool")"# , None ) ) ) , // zero: U(enum="BitBool")
8181 ] ,
8282 var : & [ ] ,
8383} ;
@@ -86,44 +86,44 @@ static ANM_INS_06: &'static CoreSignatures = &CoreSignatures {
8686static ANM_INS_07_09 : & ' static CoreSignatures = & CoreSignatures {
8787 inherit : & [ ] ,
8888 ins : & [
89- // v2
89+ // v2 (PCB)
9090 ( Th07 , 0 , Some ( ( "" , None ) ) ) ,
9191 ( Th07 , 1 , Some ( ( "" , None ) ) ) ,
9292 ( Th07 , 2 , Some ( ( "" , None ) ) ) ,
9393 ( Th07 , 3 , Some ( ( "n" , None ) ) ) ,
9494 ( Th07 , 4 , Some ( ( "ot" , Some ( IKind :: Jmp ) ) ) ) ,
95- ( Th07 , 5 , Some ( ( "Sot" , Some ( IKind :: CountJmp ( B :: Ne ) ) ) ) ) ,
95+ ( Th07 , 5 , Some ( ( "Sot" , Some ( IKind :: CountJmp ( B :: Gt ) ) ) ) ) ,
9696 ( Th07 , 6 , Some ( ( "fff" , None ) ) ) ,
9797 ( Th07 , 7 , Some ( ( "ff" , None ) ) ) ,
98- ( Th07 , 8 , Some ( ( "S " , None ) ) ) ,
99- ( Th07 , 9 , Some ( ( "S " , None ) ) ) ,
98+ ( Th07 , 8 , Some ( ( "b(imm;hex)--- " , None ) ) ) ,
99+ ( Th07 , 9 , Some ( ( "b(imm;hex)b(imm;hex)b(imm;hex)- " , None ) ) ) ,
100100 ( Th07 , 10 , Some ( ( "" , None ) ) ) ,
101101 ( Th07 , 11 , Some ( ( "" , None ) ) ) ,
102102 ( Th07 , 12 , Some ( ( "fff" , None ) ) ) ,
103103 ( Th07 , 13 , Some ( ( "fff" , None ) ) ) ,
104104 ( Th07 , 14 , Some ( ( "ff" , None ) ) ) ,
105- ( Th07 , 15 , Some ( ( "SS " , None ) ) ) ,
106- ( Th07 , 16 , Some ( ( "S " , None ) ) ) ,
105+ ( Th07 , 15 , Some ( ( "b(imm;hex)---S " , None ) ) ) ,
106+ ( Th07 , 16 , Some ( ( "U(imm) " , None ) ) ) ,
107107 ( Th07 , 17 , Some ( ( "fffS" , None ) ) ) ,
108108 ( Th07 , 18 , Some ( ( "fffS" , None ) ) ) ,
109109 ( Th07 , 19 , Some ( ( "fffS" , None ) ) ) ,
110110 ( Th07 , 20 , Some ( ( "" , None ) ) ) ,
111- ( Th07 , 21 , Some ( ( "S" , Some ( IKind :: InterruptLabel ) ) ) ) ,
111+ ( Th07 , 21 , Some ( ( "S(imm) " , Some ( IKind :: InterruptLabel ) ) ) ) ,
112112 ( Th07 , 22 , Some ( ( "" , None ) ) ) ,
113113 ( Th07 , 23 , Some ( ( "" , None ) ) ) ,
114- ( Th07 , 24 , Some ( ( "S" , None ) ) ) ,
115- ( Th07 , 25 , Some ( ( "S " , None ) ) ) ,
114+ ( Th07 , 24 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) , // zero: U(imm;enum="BitBool")
115+ ( Th07 , 25 , Some ( ( "s(imm)-- " , None ) ) ) ,
116116 ( Th07 , 26 , Some ( ( "f" , None ) ) ) ,
117117 ( Th07 , 27 , Some ( ( "f" , None ) ) ) ,
118- ( Th07 , 28 , Some ( ( "S" , None ) ) ) ,
118+ ( Th07 , 28 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) , // zero: U(imm;enum="BitBool")
119119 ( Th07 , 29 , Some ( ( "ffS" , None ) ) ) ,
120- ( Th07 , 30 , Some ( ( "S" , None ) ) ) ,
121- ( Th07 , 31 , Some ( ( "S" , None ) ) ) ,
122- ( Th07 , 32 , Some ( ( "SSfff " , None ) ) ) ,
123- ( Th07 , 33 , Some ( ( "SSS " , None ) ) ) ,
124- ( Th07 , 34 , Some ( ( "SSS " , None ) ) ) ,
125- ( Th07 , 35 , Some ( ( "SSfff " , None ) ) ) ,
126- ( Th07 , 36 , Some ( ( "SSff " , None ) ) ) ,
120+ ( Th07 , 30 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) , // zero: U(imm;enum="BitBool")
121+ ( Th07 , 31 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) , // zero: U(imm;enum="BitBool")
122+ ( Th07 , 32 , Some ( ( "Sb(imm)---fff " , None ) ) ) ,
123+ ( Th07 , 33 , Some ( ( "Sb(imm)---b(imm;hex)b(imm;hex)b(imm;hex)- " , None ) ) ) ,
124+ ( Th07 , 34 , Some ( ( "Sb(imm)---b(imm;hex)--- " , None ) ) ) ,
125+ ( Th07 , 35 , Some ( ( "Sb(imm)---fff " , None ) ) ) ,
126+ ( Th07 , 36 , Some ( ( "Sb(imm)---ff " , None ) ) ) ,
127127 ( Th07 , 37 , Some ( ( "SS" , Some ( IKind :: AssignOp ( A :: Assign , Ty :: Int ) ) ) ) ) ,
128128 ( Th07 , 38 , Some ( ( "ff" , Some ( IKind :: AssignOp ( A :: Assign , Ty :: Float ) ) ) ) ) ,
129129 ( Th07 , 39 , Some ( ( "SS" , Some ( IKind :: AssignOp ( A :: Add , Ty :: Int ) ) ) ) ) ,
@@ -146,7 +146,7 @@ static ANM_INS_07_09: &'static CoreSignatures = &CoreSignatures {
146146 ( Th07 , 56 , Some ( ( "fff" , Some ( IKind :: BinOp ( B :: Div , Ty :: Float ) ) ) ) ) ,
147147 ( Th07 , 57 , Some ( ( "SSS" , Some ( IKind :: BinOp ( B :: Rem , Ty :: Int ) ) ) ) ) ,
148148 ( Th07 , 58 , Some ( ( "fff" , Some ( IKind :: BinOp ( B :: Rem , Ty :: Float ) ) ) ) ) ,
149- ( Th07 , 59 , Some ( ( "SS " , None ) ) ) ,
149+ ( Th07 , 59 , Some ( ( "SU " , None ) ) ) ,
150150 ( Th07 , 60 , Some ( ( "ff" , None ) ) ) ,
151151 ( Th07 , 61 , Some ( ( "ff" , Some ( IKind :: UnOp ( U :: Sin , Ty :: Float ) ) ) ) ) ,
152152 ( Th07 , 62 , Some ( ( "ff" , Some ( IKind :: UnOp ( U :: Cos , Ty :: Float ) ) ) ) ) ,
@@ -170,18 +170,22 @@ static ANM_INS_07_09: &'static CoreSignatures = &CoreSignatures {
170170 ( Th07 , 80 , Some ( ( "f" , None ) ) ) ,
171171 ( Th07 , 81 , Some ( ( "f" , None ) ) ) ,
172172
173- // v3
174- // color instructions changed to take 3 dwords
175- ( Th08 , 9 , Some ( ( "SSS" , None ) ) ) ,
176- ( Th08 , 33 , Some ( ( "SSSSS" , None ) ) ) ,
173+ // v3, v3b (IN, PoFV)
174+ // alpha/color/alphaTime/colorTime instructions changed to take dword variables
175+ // alphaTimeLinear not updated
176+ ( Th08 , 8 , Some ( ( "C" , None ) ) ) ,
177+ ( Th08 , 9 , Some ( ( "CCC" , None ) ) ) ,
178+ ( Th08 , 16 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) ,
179+ ( Th08 , 33 , Some ( ( "Sb(imm)---CCC" , None ) ) ) ,
180+ ( Th08 , 34 , Some ( ( "Sb(imm)---C" , None ) ) ) ,
177181 // new instructions
178- ( Th08 , 82 , Some ( ( "S " , None ) ) ) ,
179- ( Th08 , 83 , Some ( ( "S" , None ) ) ) ,
180- ( Th08 , 84 , Some ( ( "SSS " , None ) ) ) ,
181- ( Th08 , 85 , Some ( ( "S " , None ) ) ) ,
182- ( Th08 , 86 , Some ( ( "SSSSS " , None ) ) ) ,
183- ( Th08 , 87 , Some ( ( "SSS " , None ) ) ) ,
184- ( Th08 , 88 , Some ( ( "S " , None ) ) ) ,
182+ ( Th08 , 82 , Some ( ( "U(imm) " , None ) ) ) ,
183+ ( Th08 , 83 , Some ( ( "S(imm) " , None ) ) ) ,
184+ ( Th08 , 84 , Some ( ( "CCC " , None ) ) ) ,
185+ ( Th08 , 85 , Some ( ( "C " , None ) ) ) ,
186+ ( Th08 , 86 , Some ( ( "Sb(imm)---CCC " , None ) ) ) ,
187+ ( Th08 , 87 , Some ( ( "Sb(imm)---C " , None ) ) ) ,
188+ ( Th08 , 88 , Some ( ( "-b(imm)-- " , None ) ) ) ,
185189 ( Th08 , 89 , Some ( ( "" , None ) ) ) ,
186190 ] ,
187191 var : & [ ] ,
@@ -191,6 +195,7 @@ static ANM_INS_07_09: &'static CoreSignatures = &CoreSignatures {
191195static ANM_INS_095_128 : & ' static CoreSignatures = & CoreSignatures {
192196 inherit : & [ ] ,
193197 ins : & [
198+ // v4 (StB)
194199 ( Th095 , 0 , Some ( ( "" , None ) ) ) ,
195200 ( Th095 , 1 , Some ( ( "" , None ) ) ) ,
196201 ( Th095 , 2 , Some ( ( "" , None ) ) ) ,
@@ -242,46 +247,49 @@ static ANM_INS_095_128: &'static CoreSignatures = &CoreSignatures {
242247 ( Th095 , 48 , Some ( ( "fff" , None ) ) ) ,
243248 ( Th095 , 49 , Some ( ( "fff" , None ) ) ) ,
244249 ( Th095 , 50 , Some ( ( "ff" , None ) ) ) ,
245- ( Th095 , 51 , Some ( ( "S " , None ) ) ) ,
246- ( Th095 , 52 , Some ( ( "SSS " , None ) ) ) ,
250+ ( Th095 , 51 , Some ( ( "C " , None ) ) ) ,
251+ ( Th095 , 52 , Some ( ( "CCC " , None ) ) ) ,
247252 ( Th095 , 53 , Some ( ( "fff" , None ) ) ) ,
248253 ( Th095 , 54 , Some ( ( "ff" , None ) ) ) ,
249- ( Th095 , 55 , Some ( ( "SS " , None ) ) ) ,
250- ( Th095 , 56 , Some ( ( "SSfff " , None ) ) ) ,
251- ( Th095 , 57 , Some ( ( "SSSSS " , None ) ) ) ,
252- ( Th095 , 58 , Some ( ( "SSS " , None ) ) ) ,
253- ( Th095 , 59 , Some ( ( "SSfff " , None ) ) ) ,
254- ( Th095 , 60 , Some ( ( "SSff " , None ) ) ) ,
254+ ( Th095 , 55 , Some ( ( "b(imm;hex)---S " , None ) ) ) ,
255+ ( Th095 , 56 , Some ( ( "Sb(imm)---fff " , None ) ) ) ,
256+ ( Th095 , 57 , Some ( ( "Sb(imm)---CCC " , None ) ) ) ,
257+ ( Th095 , 58 , Some ( ( "Sb(imm)---C " , None ) ) ) ,
258+ ( Th095 , 59 , Some ( ( "Sb(imm)---fff " , None ) ) ) ,
259+ ( Th095 , 60 , Some ( ( "Sb(imm)---ff " , None ) ) ) ,
255260 ( Th095 , 61 , Some ( ( "" , None ) ) ) ,
256261 ( Th095 , 62 , Some ( ( "" , None ) ) ) ,
257262 ( Th095 , 63 , Some ( ( "" , None ) ) ) ,
258- ( Th095 , 64 , Some ( ( "S" , Some ( IKind :: InterruptLabel ) ) ) ) ,
259- ( Th095 , 65 , Some ( ( "ss " , None ) ) ) ,
260- ( Th095 , 66 , Some ( ( "S " , None ) ) ) ,
261- ( Th095 , 67 , Some ( ( "S " , None ) ) ) ,
262- ( Th095 , 68 , Some ( ( "S " , None ) ) ) ,
263+ ( Th095 , 64 , Some ( ( "S(imm) " , Some ( IKind :: InterruptLabel ) ) ) ) ,
264+ ( Th095 , 65 , Some ( ( "u(imm)u(imm) " , None ) ) ) ,
265+ ( Th095 , 66 , Some ( ( "U(imm) " , None ) ) ) ,
266+ ( Th095 , 67 , Some ( ( "U(imm) " , None ) ) ) ,
267+ ( Th095 , 68 , Some ( ( "b(imm)--- " , None ) ) ) ,
263268 ( Th095 , 69 , Some ( ( "" , None ) ) ) ,
264269 ( Th095 , 70 , Some ( ( "f" , None ) ) ) ,
265270 ( Th095 , 71 , Some ( ( "f" , None ) ) ) ,
266- ( Th095 , 72 , Some ( ( "S" , None ) ) ) ,
267- ( Th095 , 73 , Some ( ( "S" , None ) ) ) ,
268- ( Th095 , 74 , Some ( ( "S" , None ) ) ) ,
271+ ( Th095 , 72 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) , // zero: U(imm;enum="BitBool")
272+ ( Th095 , 73 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) , // zero: U(imm;enum="BitBool")
273+ ( Th095 , 74 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) , // zero: U(imm;enum="BitBool")
269274 ( Th095 , 75 , Some ( ( "S" , None ) ) ) ,
270275 ( Th095 , 76 , Some ( ( "SSS" , None ) ) ) ,
271276 ( Th095 , 77 , Some ( ( "S" , None ) ) ) ,
272277 ( Th095 , 78 , Some ( ( "SSSSS" , None ) ) ) ,
273278 ( Th095 , 79 , Some ( ( "SSS" , None ) ) ) ,
274- ( Th095 , 80 , Some ( ( "S " , None ) ) ) ,
279+ ( Th095 , 80 , Some ( ( "b(imm)--- " , None ) ) ) ,
275280 ( Th095 , 81 , Some ( ( "" , None ) ) ) ,
276- ( Th095 , 82 , Some ( ( "S" , None ) ) ) ,
281+ ( Th095 , 82 , Some ( ( r#"b(imm;enum="bool")---"# , None ) ) ) , // zero: b(imm;enum="BitBool")---
277282 ( Th095 , 83 , Some ( ( "" , None ) ) ) ,
278283 ( Th095 , 84 , Some ( ( "S" , None ) ) ) ,
279- ( Th095 , 85 , Some ( ( "S" , None ) ) ) ,
280- ( Th095 , 86 , Some ( ( "S" , None ) ) ) ,
281- ( Th095 , 87 , Some ( ( "S " , None ) ) ) ,
284+ ( Th095 , 85 , Some ( ( r#"b(imm;enum="bool")---"# , None ) ) ) , // zero: b(imm;enum="BitBool")---
285+ ( Th095 , 86 , Some ( ( r#"U(enum="bool")"# , None ) ) ) , // zero: U(enum="BitBool")
286+ ( Th095 , 87 , Some ( ( "b(imm)--- " , None ) ) ) ,
282287
288+ // v4b (MoF)
289+ ( Th10 , 56 , Some ( ( "SU(imm)fff" , None ) ) ) ,
290+ ( Th10 , 59 , Some ( ( "SU(imm)fff" , None ) ) ) ,
283291 ( Th10 , 88 , Some ( ( "N" , None ) ) ) ,
284- ( Th10 , 89 , Some ( ( "S" , None ) ) ) ,
292+ ( Th10 , 89 , Some ( ( r#"U(imm;enum="bool")"# , None ) ) ) , // zero: U(imm;enum="BitBool")
285293 ( Th10 , 90 , Some ( ( "N" , None ) ) ) ,
286294 ( Th10 , 91 , Some ( ( "N" , None ) ) ) ,
287295 ( Th10 , 92 , Some ( ( "N" , None ) ) ) ,
@@ -475,6 +483,7 @@ static ANM_VAR: &'static CoreSignatures = &CoreSignatures {
475483 inherit : & [ ] ,
476484 ins : & [ ] ,
477485 var : & [
486+ // v2, v3 (PCB, IN)
478487 ( Th07 , 10000 , Some ( "$" ) ) ,
479488 ( Th07 , 10001 , Some ( "$" ) ) ,
480489 ( Th07 , 10002 , Some ( "$" ) ) ,
@@ -486,13 +495,17 @@ static ANM_VAR: &'static CoreSignatures = &CoreSignatures {
486495 ( Th07 , 10008 , Some ( "$" ) ) ,
487496 ( Th07 , 10009 , Some ( "$" ) ) ,
488497
489- ( Th095 , 10010 , Some ( "%" ) ) ,
490- ( Th095 , 10011 , Some ( "%" ) ) ,
491- ( Th095 , 10012 , Some ( "%" ) ) ,
498+ // v3b (PoFV)
499+ ( Th09 , 10010 , Some ( "%" ) ) ,
500+ ( Th09 , 10011 , Some ( "%" ) ) ,
501+ ( Th09 , 10012 , Some ( "%" ) ) ,
502+
503+ // v4 (StB)
492504 ( Th095 , 10013 , Some ( "%" ) ) ,
493505 ( Th095 , 10014 , Some ( "%" ) ) ,
494506 ( Th095 , 10015 , Some ( "%" ) ) ,
495507
508+ // v4b (MoF)
496509 ( Th10 , 10016 , Some ( "%" ) ) ,
497510 ( Th10 , 10017 , Some ( "%" ) ) ,
498511 ( Th10 , 10018 , Some ( "%" ) ) ,
0 commit comments