瀏覽代碼

смог загрузить файл bootstrap.tc в память, теперь надо делать разбор команд процессора

kpmy 10 年之前
父節點
當前提交
9d68d49db9
共有 17 個文件被更改,包括 8648 次插入18 次删除
  1. 8 1
      lib/machine/app.dart
  2. 9 6
      lib/machine/host.dart
  3. 38 0
      lib/machine/loader.dart
  4. 2 1
      lib/trisc/op.dart
  5. 13 10
      lib/trisc/proc.dart
  6. 4 0
      pubspec.yaml
  7. 3820 0
      web/tc/Core.tc
  8. 2 0
      web/tc/Core.ts
  9. 3131 0
      web/tc/Files.tc
  10. 2 0
      web/tc/Files.ts
  11. 391 0
      web/tc/Log.tc
  12. 73 0
      web/tc/Log.ts
  13. 1004 0
      web/tc/RS232.tc
  14. 82 0
      web/tc/RS232.ts
  15. 56 0
      web/tc/Test2.tc
  16. 2 0
      web/tc/Test2.ts
  17. 11 0
      web/tc/bootstrap.tc

+ 8 - 1
lib/machine/app.dart

@@ -3,16 +3,23 @@ library machine;
 import 'dart:async';
 import 'package:tri/trisc/core.dart';
 import 'package:tri/tri/mathe.dart';
+import 'package:tri/halt.dart';
 import 'package:logging/logging.dart';
 import 'package:logging_handlers/logging_handlers_shared.dart';
+import 'dart:html';
+import 'dart:convert';
 
 part 'host.dart';
+part 'loader.dart';
 
 void tuneLog() {
   startQuickLogging();
   fmt.level = Level.ALL;
 }
 
-void init() {
+init() async {
   Host host = new Host();
+  Flasher flash = new Flasher(host.mem, mtOrg, 81);
+  await flash.flash("bootstrap", adr: bootPC);
+  host.run();
 }

+ 9 - 6
lib/machine/host.dart

@@ -40,7 +40,15 @@ class Host {
   bool stop = false;
   MMU mem;
   CPU proc;
-
+  
+  void run(){
+    Function step;
+    step = () {
+      if (proc.next() != CPUresult.stop && !stop) new Future.delayed(new Duration(milliseconds: 500), step);
+    };
+    step();
+  }
+  
   Host() {
     mem = new DebugMMU(MemFactory.newMMU(bootPC, memLength));
     proc = ProcFactory.newCPU(mem, pc: i27(bootPC ~/ 3));
@@ -49,10 +57,5 @@ class Host {
     new Mapper(mem)[heapOrg ~/ 3] = i27(heap);
     proc.reset();
     proc.debug = true;
-    Function step;
-    step = () {
-      if (proc.next() != CPU.stop && !stop) new Future.delayed(new Duration(milliseconds: 500), step);
-    };
-    step();
   }
 }

+ 38 - 0
lib/machine/loader.dart

@@ -0,0 +1,38 @@
+part of machine;
+
+class Module{
+  
+}
+
+class Flasher{
+  RAM mem;
+  int mt;
+  int start;
+  
+  List<Module> ml = new List();
+  
+  flash (String name, {int adr: -1, bool boot: false}) async{
+    try{
+      var code = await HttpRequest.getString("tc/$name.tc");
+      Map tc;
+       tc = JSON.decode(code);
+       halt.on(condition: adr != -1); //куча модулей будет позже
+       fmt.fine(tc);
+       if(tc.containsKey("code")){
+         Map nons = tc["code"];
+         List nonits = nons["nons"];
+         int i = 0;
+         nonits.forEach((String n){
+           new Mapper(mem)[(adr ~/ 3) + i] = Nons.parse(n);
+           i++;
+         });
+       }
+    }catch(e){
+      return -1;
+    }
+  }
+  
+  Flasher(this.mem, this.mt, [int shift = 0]){
+    this.start = mt + shift;
+  }
+}

+ 2 - 1
lib/trisc/op.dart

@@ -73,6 +73,7 @@ class Op{
   
   static Operation parse(int27 ir){
     tryte format = short(ir >> 24);
-    return cache[format];
+    var op = cache[format];
+    return op(ir);
   }
 }

+ 13 - 10
lib/trisc/proc.dart

@@ -5,16 +5,19 @@ class internal{
   static final nop = new tryte.zero();
 }
 
+enum CPUresult{
+  ok,
+  stop,
+  skip
+}
+
 abstract class CPU{
-  static const int ok = 0;
-  static const int stop = 1;
-  static const int skip = 2;
 
   bool get debug;
   set debug(bool);
 
   void reset();
-  int next();
+  CPUresult next();
 }
 
 class ProcFactory{
@@ -26,7 +29,7 @@ class ProcFactory{
   }
 }
 
-typedef int IRhandler(Operation op);
+typedef CPUresult IRhandler(Operation op);
 
 class _cpu extends CPU{
   int27 ir;
@@ -52,13 +55,13 @@ class _cpu extends CPU{
     return def;
   }
 
-  int parse(int27 ir, IRhandler h){
+  CPUresult parse(int27 ir, IRhandler h){
     tryte format = short(ir >> 24);
     if(format == internal.nop){
-      return CPU.skip;
+      return CPUresult.skip;
     }else if(format == internal.haltMe){
       halt.on(condition: !debug, code: 146);
-      return CPU.stop;
+      return CPUresult.stop;
     }else{
       return h(Op.parse(ir));
     }
@@ -71,7 +74,7 @@ class _cpu extends CPU{
   }
 
   @override
-  int next(){
+  CPUresult next(){
     step++;
     ir = new Mapper(mem)[pc.toInt()];
     fmt.fine("step $step: [$pc]");
@@ -80,7 +83,7 @@ class _cpu extends CPU{
       pc = new int27.zero();
     fmt.fine(new Trits(ir));
 
-    int ret = parse(ir, handler());
+    CPUresult ret = parse(ir, handler());
     fmt.fine("step $step: $ret");
     return ret;
   }

+ 4 - 0
pubspec.yaml

@@ -8,3 +8,7 @@ dependencies:
   libpen: any
   logging_handlers: any
   unittest: any
+  async_await:
+    git: https://github.com/dart-lang/async_await.git
+transformers:
+- async_await

+ 3820 - 0
web/tc/Core.tc

@@ -0,0 +1,3820 @@
+{
+	"imports": [
+	],
+	"entries": [
+	],
+	"code": {
+		"asm": [
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				6
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"MOV`",
+				0,
+				-3
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				6
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				12
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				9
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				63910
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				1
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"MOV`",
+				1,
+				-1
+			],
+			[
+				"LDT",
+				0,
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				1
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-18
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				12
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				-1
+			],
+			[
+				"MOV`",
+				1,
+				13
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				-1
+			],
+			[
+				"MOV`",
+				1,
+				7
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				54
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				57
+			],
+			[
+				"MOV`",
+				1,
+				10
+			],
+			[
+				"BRC",
+				"000++0000",
+				-49
+			],
+			[
+				"BRC",
+				"000++0000",
+				-23
+			],
+			[
+				"MOV`",
+				0,
+				-1
+			],
+			[
+				"MOV`",
+				1,
+				27
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				24
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				17
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				45
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				21
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				21
+			],
+			[
+				"BRC",
+				"000-00000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"BRC",
+				"000-00000",
+				77
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				18
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				15
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				18
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				15
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				18
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-00-00",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				1
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				21
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000-00000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				15
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				15
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				42
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				45
+			],
+			[
+				"BRC",
+				"000-+0000",
+				95
+			],
+			[
+				"MOV`",
+				0,
+				1
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				21
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				18
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				12
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"MOV`",
+				1,
+				-1
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				15
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000-00000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				12
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				33
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				45
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-73
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				21
+			],
+			[
+				"BRC",
+				"000-00000",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-00-00",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				11
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				69
+			],
+			[
+				"MOV`",
+				1,
+				9
+			],
+			[
+				"BRC",
+				"000++0000",
+				-152
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				24
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				10
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				48
+			],
+			[
+				"BRC",
+				"000-00000",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				3
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				48
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				48
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				48
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				1,
+				72
+			],
+			[
+				"BRC",
+				"000++0000",
+				-117
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				36
+			],
+			[
+				"MOV`",
+				1,
+				36
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				36
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"MOV`",
+				1,
+				-1
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				36
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				24
+			],
+			[
+				"LDW",
+				1,
+				"SB",
+				48
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				36
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				48
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				15
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				51
+			],
+			[
+				"BRC",
+				"000-00000",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				3
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				51
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				51
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				51
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				6
+			],
+			[
+				"BRC",
+				"000++0000",
+				-59
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				18
+			],
+			[
+				"MOV`",
+				1,
+				18
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				18
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"MOV`",
+				1,
+				-1
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				18
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				23
+			],
+			[
+				"LDW",
+				1,
+				"SB",
+				51
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				18
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				51
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				18
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				18
+			],
+			[
+				"BRC",
+				"000-00-00",
+				0
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000++0000",
+				-53
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				36
+			],
+			[
+				"BRC",
+				"000-00-00",
+				0
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000++0000",
+				-101
+			],
+			[
+				"BRC",
+				"000-+0000",
+				259
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				12
+			],
+			[
+				"ADD`",
+				1,
+				1,
+				72
+			],
+			[
+				"SUB`",
+				1,
+				1,
+				1
+			],
+			[
+				"DIV`",
+				1,
+				1,
+				72
+			],
+			[
+				"MUL`",
+				1,
+				1,
+				72
+			],
+			[
+				"BRC",
+				"000++0000",
+				-208
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000-00-00",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				12
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				15
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				58
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				33
+			],
+			[
+				"LDW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				2,
+				"SP",
+				12
+			],
+			[
+				"ADD",
+				1,
+				1,
+				1
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				15
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				1,
+				0
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-11
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				18
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"DIV`",
+				0,
+				0,
+				3
+			],
+			[
+				"MOV`",
+				1,
+				-7
+			],
+			[
+				"LSL`",
+				1,
+				1,
+				12
+			],
+			[
+				"ADD`",
+				1,
+				1,
+				-118098
+			],
+			[
+				"MOV",
+				1,
+				1
+			],
+			[
+				"LSL`",
+				1,
+				1,
+				12
+			],
+			[
+				"ADD`",
+				1,
+				1,
+				0
+			],
+			[
+				"MOV",
+				1,
+				1
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				1
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				15
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"MOV",
+				0,
+				"LNK"
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				3
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LSL`",
+				0,
+				0,
+				19
+			],
+			[
+				"LSL`",
+				0,
+				0,
+				-23
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"BRC",
+				"000-00-00",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"BRC",
+				"000++0000",
+				-107
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				62
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				78
+			],
+			[
+				"MOV`",
+				1,
+				5
+			],
+			[
+				"BRC",
+				"000++0000",
+				-350
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"BRC",
+				"000++0000",
+				-361
+			],
+			[
+				"BRC",
+				"000++0000",
+				-326
+			],
+			[
+				"BRC",
+				"000++0000",
+				-311
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				15
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				15
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				84
+			],
+			[
+				"MOV`",
+				1,
+				16
+			],
+			[
+				"BRC",
+				"000++0000",
+				-365
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				10
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				8
+			],
+			[
+				"ADD`",
+				1,
+				"SB",
+				0
+			],
+			[
+				"BRR",
+				"MT",
+				"000++0000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				273220
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				273784
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				9
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				33
+			],
+			[
+				"BRC",
+				"000++0000",
+				-390
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				1
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-20
+			],
+			[
+				"BRC",
+				"000++0000",
+				-359
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				18
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				17
+			],
+			[
+				"LDW",
+				1,
+				"SB",
+				39
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				295573
+			],
+			[
+				"LDW",
+				0,
+				0,
+				3
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-0--00",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				11
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				102
+			],
+			[
+				"MOV`",
+				1,
+				13
+			],
+			[
+				"BRC",
+				"000++0000",
+				-410
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				299866
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				300676
+			],
+			[
+				"LDW",
+				1,
+				1,
+				0
+			],
+			[
+				"ADD`",
+				1,
+				1,
+				1
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				302134
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				9
+			],
+			[
+				"STW",
+				1,
+				1,
+				12
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				305050
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				3
+			],
+			[
+				"MOV`",
+				1,
+				81
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				309100
+			],
+			[
+				"LDW",
+				0,
+				0,
+				9
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				15
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				15
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				310154
+			],
+			[
+				"BRR",
+				0,
+				"000++0000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				311854
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				0,
+				0,
+				3
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				15
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000++0000",
+				-55
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				18
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				6
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				47
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				117
+			],
+			[
+				"MOV`",
+				1,
+				5
+			],
+			[
+				"BRC",
+				"000++0000",
+				-457
+			],
+			[
+				"BRC",
+				"000++0000",
+				-431
+			],
+			[
+				"MOV",
+				0,
+				"MT"
+			],
+			[
+				"MOV`",
+				1,
+				81
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00-00",
+				323683
+			],
+			[
+				"MOV`",
+				0,
+				84
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				15
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				16
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				54
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				54
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				333238
+			],
+			[
+				"MOV`",
+				1,
+				1
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				54
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00000",
+				335587
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				0,
+				0,
+				3
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"LDW",
+				1,
+				"SB",
+				54
+			],
+			[
+				"BRC",
+				"000++0000",
+				-93
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				6
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"BRC",
+				"000++0000",
+				0
+			],
+			[
+				"SUB`",
+				0,
+				"LNK",
+				489
+			],
+			[
+				"MOV",
+				1,
+				"MT"
+			],
+			[
+				"BRC",
+				"000++0000",
+				-188
+			],
+			[
+				"MOV`",
+				0,
+				78
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				25
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				36
+			],
+			[
+				"MOV`",
+				0,
+				75
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				39
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				36
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				42
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				33
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				48
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				51
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				39
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				45
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				42
+			],
+			[
+				"LDW",
+				1,
+				"SB",
+				39
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SB",
+				45
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				45
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"MOV`",
+				1,
+				-1
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				45
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				6
+			],
+			[
+				"MOV`",
+				1,
+				0
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				123
+			],
+			[
+				"MOV`",
+				1,
+				18
+			],
+			[
+				"BRC",
+				"000++0000",
+				-525
+			],
+			[
+				"BRC",
+				"000++0000",
+				-499
+			],
+			[
+				"BRC",
+				"000++0000",
+				-76
+			],
+			[
+				"BRC",
+				"000++0000",
+				-171
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				34
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				141
+			],
+			[
+				"MOV`",
+				1,
+				9
+			],
+			[
+				"BRC",
+				"000++0000",
+				-532
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			]
+		],
+		"nons": [
+			"Z3Y3YZ200001X",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"Z00000000000X",
+			"X013Y00000003",
+			"3010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00001X",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000013",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"Z000000000000",
+			"3003Y00000010",
+			"X003Y0000001X",
+			"X013Y00000010",
+			"10101Z2000000",
+			"Z2X4000000002W",
+			"X003Y00000010",
+			"X013Y0000001X",
+			"10100Z2000001",
+			"1Y330011YX013W",
+			"Z000010000001",
+			"X013Y00000003",
+			"100011Y000000",
+			"Z01000000000Z",
+			"Z4000000000000",
+			"1W000100000000",
+			"X003Y00000010",
+			"Z00001Y000001",
+			"3003Y00000010",
+			"Z2Y000000000Y0",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000013",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"Z00000000000Z",
+			"Z010000000014",
+			"1W010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"Z00000000000Z",
+			"Z01000000001Y",
+			"1W010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"X3X00000001X0",
+			"Z003X1Y0001X3",
+			"Z010000000011",
+			"Z2400000000Z4W",
+			"Z24000000000X4",
+			"Z00000000000Z",
+			"Z010000000030",
+			"1W010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z",
+			"Z3Y3YZ200003X",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"Z000000000000",
+			"3003Y00000010",
+			"X3X000000002Z",
+			"X003X000001W0",
+			"3003Y00000013",
+			"Z000000000000",
+			"1W003Y00000023",
+			"Z4003Y00000023",
+			"Z2X000000001ZZ",
+			"X003Y00000013",
+			"Z2X000000001ZX",
+			"X003Y00000013",
+			"X000000000000",
+			"3003Y00000020",
+			"X003Y00000013",
+			"Z00001Y00001X",
+			"X000000000000",
+			"3003Y0000002X",
+			"X003Y00000020",
+			"X013Y0000001X",
+			"10000Z2000001",
+			"Z2X4000000001W",
+			"X003Y00000013",
+			"3003Y00000010",
+			"X003Y0000002X",
+			"3003Y00000013",
+			"Z2Y000000001XY",
+			"X003Y00000020",
+			"X013Y0000001X",
+			"10000Z2000001",
+			"Z2XZ000000002Y",
+			"Z000000000001",
+			"1W003Y00000023",
+			"X003Y00000013",
+			"X013Y00000003",
+			"3000100000000",
+			"X003Y00000010",
+			"Z2X0000000001W",
+			"X003Y00000010",
+			"Z00001Y00001X",
+			"X013Y0000002X",
+			"3010000000000",
+			"Z2Y00000000003",
+			"X003Y0000002X",
+			"X3X00000001WX",
+			"3003X000001W0",
+			"Z2Y0000000004W",
+			"Z000000000001",
+			"1W003Y00000023",
+			"X003Y00000013",
+			"X013Y00000003",
+			"3000100000000",
+			"X003Y00000013",
+			"X013Y0000001X",
+			"100001Y000001",
+			"3003Y00000013",
+			"X003Y00000020",
+			"X013Y0000001X",
+			"10000Z2000001",
+			"X013Y00000013",
+			"3000100000000",
+			"X003Y00000013",
+			"Z00001Y000003",
+			"Z01000000000Z",
+			"3010000000000",
+			"X003Y00000013",
+			"Z00001Y00001X",
+			"X013Y0000002X",
+			"3010000000000",
+			"X003Y00000010",
+			"Z2X0000000001W",
+			"X003Y00000010",
+			"Z00001Y00001X",
+			"X013Y00000013",
+			"3010000000000",
+			"Z2Y00000000003",
+			"X003Y00000013",
+			"X3X000000004X",
+			"3003X000001W0",
+			"Z2Y00000000Z1Z",
+			"Z4003Y00000023",
+			"Z2X00000000003",
+			"Z000000000000",
+			"X013Y00000003",
+			"3000100000000",
+			"X003Y00000003",
+			"X000000000000",
+			"Z2XZ0000000004",
+			"X3X0000000012",
+			"Z003X1Y0001ZX",
+			"Z010000000010",
+			"Z2400000000Y11",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00003X",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"X3X0000000011",
+			"X003X000001W3",
+			"Z2X00000000010",
+			"X3X0000000003",
+			"X003X000001W3",
+			"X013Y00000003",
+			"3000100000000",
+			"X003X000001W3",
+			"Z00001Y00001X",
+			"X000000000000",
+			"3003X000001W3",
+			"Z2Y0000000003X",
+			"Z003Y1Y00001X",
+			"Z0100000001Z0",
+			"Z2400000000ZW0",
+			"X003Y0000001X",
+			"Z00001Y000040",
+			"Z010000000040",
+			"3010000000000",
+			"X003Y0000001X",
+			"Z00001Y000040",
+			"Z00001Y000003",
+			"Z01000000000Z",
+			"3010000000000",
+			"X003Y0000001X",
+			"Z00001Y000040",
+			"Z00001Y00001X",
+			"X3X000000003X",
+			"X013X000001W3",
+			"3010000000000",
+			"X003Y0000001X",
+			"Z00001Y000040",
+			"3003X000001W3",
+			"X003Y0000001X",
+			"X013Y00000003",
+			"3000100000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"X3X000000002X",
+			"X003X000001XX",
+			"Z2X00000000010",
+			"X3X0000000003",
+			"X003X000001XX",
+			"X013Y00000003",
+			"3000100000000",
+			"X003X000001XX",
+			"Z00001Y00001X",
+			"X000000000000",
+			"3003X000001XX",
+			"Z2Y0000000003W",
+			"Z003Y1Y00001X",
+			"Z2400000000Z24",
+			"X003Y0000001X",
+			"Z00001Y000020",
+			"Z010000000020",
+			"3010000000000",
+			"X003Y0000001X",
+			"Z00001Y000020",
+			"Z00001Y000003",
+			"Z01000000000Z",
+			"3010000000000",
+			"X003Y0000001X",
+			"Z00001Y000020",
+			"Z00001Y00001X",
+			"X3X000000003W",
+			"X013X000001XX",
+			"3010000000000",
+			"X003Y0000001X",
+			"Z00001Y000020",
+			"3003X000001XX",
+			"X003Y0000001X",
+			"X013Y00000003",
+			"3000100000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000020",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"X003Y0000001X",
+			"X000000000000",
+			"3003Y00000013",
+			"X003Y00000013",
+			"Z0000Z2000020",
+			"Z2XZ0000000003",
+			"Z003Y1Y000010",
+			"Z2400000000Z31",
+			"Z2Y00000000014",
+			"X003Y00000013",
+			"Z0000Z2000040",
+			"Z2XZ0000000003",
+			"Z003Y1Y000010",
+			"Z2400000000ZYY",
+			"Z2Y0000000001Y",
+			"Z003Y1Y000010",
+			"X013Y00000013",
+			"Z01011Y0001Z0",
+			"Z0101Z2000001",
+			"Z0101110001Z0",
+			"Z0101100001Z0",
+			"Z2400000000X4Z",
+			"X003Y00000010",
+			"Z2XZ0000000004",
+			"Z000000000000",
+			"X013Y00000003",
+			"3000100000000",
+			"Z2Y00000000034",
+			"X003Y00000010",
+			"Z00001Y00001X",
+			"X013Y00000003",
+			"3000100000000",
+			"X003Y00000010",
+			"X013Y0000001X",
+			"3010000000000",
+			"X003Y00000010",
+			"X013Y00000013",
+			"100001Y000001",
+			"3003Y0000002X",
+			"X003Y00000010",
+			"Z00001Y000003",
+			"3003Y00000010",
+			"X3X00000001X4",
+			"Z003X1Y00004X",
+			"X010000000000",
+			"X023Y00000013",
+			"101011Y000002",
+			"3010000000000",
+			"X003Y00000010",
+			"X013Y0000002X",
+			"10000Z2000001",
+			"Z2X4000000001Y",
+			"X003Y00000010",
+			"Z010000000000",
+			"3010000000000",
+			"X003Y00000010",
+			"Z00001Y000003",
+			"3003Y00000010",
+			"Z2Y000000000ZY",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000020",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"X003Y00000003",
+			"X013Y0000001X",
+			"10000Z2000001",
+			"Z000011000003",
+			"Z0100000000Z2",
+			"Z010101000013",
+			"Z01011YY00000",
+			"1010000000001",
+			"Z010101000013",
+			"Z01011Y000000",
+			"1010000000001",
+			"100011Y000000",
+			"Z0000Z2000001",
+			"X013Y0000001X",
+			"3000100000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z3Y3YZ200002X",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"100000000003Z",
+			"3003Y00000010",
+			"X003Y00000010",
+			"Z0000Z2000003",
+			"X000000000000",
+			"3003Y00000010",
+			"X003Y00000010",
+			"Z000001000021",
+			"Z0000010000X4",
+			"3003Y00000013",
+			"X003Y00000013",
+			"Z2XZ0000000004",
+			"X003Y00000003",
+			"X013Y0000001X",
+			"Z2400000000ZX1",
+			"Z2Y0000000001Z",
+			"X3X00000001YZ",
+			"Z003X1Y00010X",
+			"Z01000000001W",
+			"Z2400000000WX1",
+			"X003Y00000013",
+			"Z2400000000WWZ",
+			"Z2400000000W0Y",
+			"Z2400000000W14",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00002X",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"Z000000000000",
+			"3003Y00000003",
+			"X3X000000002X",
+			"Z003X1Y000103",
+			"Z01000000002Y",
+			"Z240000000Z444",
+			"X003Y00000003",
+			"Z0000Z2000011",
+			"Z2X4000000002Z",
+			"Z003Y1Y00001X",
+			"X3X000000001Z",
+			"Z013X1Y000000",
+			"1Y40000000003W",
+			"X003Y0000001X",
+			"1Y3001WXXY1Y3W",
+			"X003Y0000001X",
+			"1Y3001WXYW043W",
+			"X013Y00000003",
+			"3010000000000",
+			"X3X0000000010",
+			"X003X0000004X",
+			"Z240000000Z42X",
+			"X003Y00000003",
+			"Z00001Y000001",
+			"3003Y00000003",
+			"Z2Y000000000YY",
+			"Z2400000000WW1",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z2Y000000001YY",
+			"Z3Y3YZ2000020",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"X003Y00000003",
+			"X3X000000002Z",
+			"X013X00000043",
+			"10000Z2000001",
+			"Z2X400000001W4",
+			"X003Y00000003",
+			"3003Y00000010",
+			"X003Y00000010",
+			"1Y3001W004043W",
+			"X000000000003",
+			"Z0000Z2000000",
+			"Z2XW0000000044",
+			"X3X0000000012",
+			"Z003X1Y000123",
+			"Z010000000014",
+			"Z240000000Z4Z4",
+			"X003Y00000010",
+			"1Y3001W1X3043W",
+			"X013Y0000001X",
+			"1Y3001W1Y4043W",
+			"X010100000000",
+			"Z01011Y000001",
+			"3010000000000",
+			"X003Y0000001X",
+			"1Y3001W104043W",
+			"X013Y00000010",
+			"3010000000013",
+			"X003Y00000010",
+			"1Y3001W144043W",
+			"X000000000000",
+			"Z000010000003",
+			"Z010000000100",
+			"100011Y000000",
+			"X000000000000",
+			"3003Y00000013",
+			"X003Y00000010",
+			"1Y3001W210043W",
+			"X000000000010",
+			"3003Y0000002X",
+			"X003Y0000002X",
+			"1Y3001W2241W3W",
+			"1Y400000000000",
+			"X003Y00000010",
+			"1Y3001W3WY043W",
+			"X013Y00000003",
+			"X000000000003",
+			"100011Y000000",
+			"Z00001Y00002X",
+			"Z00001Y000003",
+			"X013Y00000010",
+			"Z2400000000Z3Z",
+			"Z2Y00000000002",
+			"Z000000000000",
+			"3003Y00000010",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000020",
+			"1YY0000000003Z",
+			"Z3Y3YZ200001X",
+			"33Z3Y00000000",
+			"X3X00000001W2",
+			"Z003X1Y000140",
+			"Z01000000001W",
+			"Z240000000Z332",
+			"Z240000000Z4X1",
+			"100000000003W",
+			"Z010000000100",
+			"10101Z2000000",
+			"1Y3Z01W4301Y3W",
+			"Z000000000103",
+			"3003Y00000003",
+			"X003Y00000003",
+			"X000000000000",
+			"3003Y00000003",
+			"X003Y00000003",
+			"Z0000Z200002X",
+			"X3X000000002Y",
+			"3003X000001X0",
+			"X003X000001X0",
+			"1Y3001XXY1043W",
+			"Z010000000001",
+			"3010000000000",
+			"X003X000001X0",
+			"1Y3001XX13043W",
+			"X013Y00000003",
+			"X000000000003",
+			"100011Y000000",
+			"Z00001Y000003",
+			"X013X000001X0",
+			"Z2400000000ZZX",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00001X",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"Z2400000000000",
+			"Z003ZZ2001X03",
+			"101000000003W",
+			"Z2400000000YX1",
+			"Z00000000010X",
+			"X000000000000",
+			"X3X000000003Y",
+			"3003X00000040",
+			"Z0000000001Z3",
+			"X000000000000",
+			"3003X00000043",
+			"X003X00000040",
+			"3003X000001WX",
+			"Z000000000000",
+			"3003X0000004X",
+			"Z000000000000",
+			"3003X000001W3",
+			"Z000000000000",
+			"3003X000001XX",
+			"X003X00000043",
+			"3003X000001W0",
+			"X003X000001WX",
+			"X013X00000043",
+			"10000Z2000001",
+			"X013X000001W0",
+			"3000100000000",
+			"X003X000001W0",
+			"Z00001Y000003",
+			"Z01000000000Z",
+			"3010000000000",
+			"X003X000001W0",
+			"Z00001Y00001X",
+			"Z010000000000",
+			"3010000000000",
+			"Z003X1Y0002WX",
+			"Z010000000020",
+			"Z240000000Z3WX",
+			"Z240000000Z3ZW",
+			"Z2400000000Z1W",
+			"Z2400000000YZ0",
+			"X3X000000004Y",
+			"Z003X1Y0002YX",
+			"Z010000000010",
+			"Z240000000Z24Z",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z"
+		],
+		"fixorgD": 537,
+		"fixorgP": 0
+	},
+	"varsize": 24,
+	"entry": 1485,
+	"types": [
+		"20",
+		"0Z",
+		"0Z",
+		"0Z",
+		"0Z",
+		"20",
+		"0Z",
+		"0Z",
+		"0Z",
+		"13",
+		"0Z"
+	],
+	"strings": [
+		98,
+		114,
+		101,
+		97,
+		107,
+		32,
+		110,
+		111,
+		119,
+		0,
+		0,
+		0,
+		110,
+		101,
+		119,
+		32,
+		102,
+		97,
+		105,
+		108,
+		0,
+		116,
+		114,
+		97,
+		112,
+		0,
+		0,
+		97,
+		108,
+		108,
+		111,
+		99,
+		97,
+		116,
+		105,
+		111,
+		110,
+		32,
+		116,
+		101,
+		115,
+		116,
+		0,
+		0,
+		0,
+		97,
+		110,
+		111,
+		116,
+		104,
+		101,
+		114,
+		32,
+		109,
+		111,
+		100,
+		32,
+		0,
+		0,
+		0,
+		73,
+		110,
+		105,
+		116,
+		0,
+		0,
+		116,
+		114,
+		105,
+		115,
+		99,
+		32,
+		111,
+		98,
+		101,
+		114,
+		111,
+		110,
+		32,
+		99,
+		111,
+		114,
+		101,
+		0,
+		115,
+		116,
+		111,
+		112,
+		32,
+		110,
+		111,
+		119,
+		0
+	]
+}

+ 2 - 0
web/tc/Core.ts

@@ -0,0 +1,2 @@
+{
+}

+ 3131 - 0
web/tc/Files.tc

@@ -0,0 +1,3131 @@
+{
+	"imports": [
+		{
+			"name": "RS232",
+			"val": 0
+		},
+		{
+			"name": "Log",
+			"val": 0
+		}
+	],
+	"entries": [
+	],
+	"code": {
+		"asm": [
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				15
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				2,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				9
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				4
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				2,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				2,
+				2,
+				2
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				37423
+			],
+			[
+				"MUL`",
+				1,
+				1,
+				1
+			],
+			[
+				"LDW",
+				2,
+				"SP",
+				3
+			],
+			[
+				"ADD",
+				1,
+				1,
+				1
+			],
+			[
+				"LDT",
+				1,
+				1,
+				0
+			],
+			[
+				"BRC",
+				"000++0000",
+				532190
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				1
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-18
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				15
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				18
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				2,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				9
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"MOV`",
+				0,
+				4
+			],
+			[
+				"ADD`",
+				1,
+				"SP",
+				15
+			],
+			[
+				"BRC",
+				"000++0000",
+				534377
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				15
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				9
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"MOV`",
+				0,
+				1
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				15
+			],
+			[
+				"BRC",
+				"000++0000",
+				1065076
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				1,
+				0
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				4
+			],
+			[
+				"ADD`",
+				1,
+				"SP",
+				15
+			],
+			[
+				"BRC",
+				"000++0000",
+				534365
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				57835
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				1
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"LDT",
+				1,
+				"SP",
+				15
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				15
+			],
+			[
+				"BRC",
+				"000++0000",
+				1065080
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				1
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-23
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				18
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				45
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				19
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				42
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				42
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				10
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				11
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				12
+			],
+			[
+				"MOV`",
+				0,
+				100
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				13
+			],
+			[
+				"MOV`",
+				0,
+				255
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				14
+			],
+			[
+				"MOV`",
+				0,
+				255
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				15
+			],
+			[
+				"MOV`",
+				0,
+				81
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				16
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				17
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				18
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				19
+			],
+			[
+				"MOV`",
+				0,
+				6
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				20
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				21
+			],
+			[
+				"MOV`",
+				0,
+				57
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				22
+			],
+			[
+				"MOV`",
+				0,
+				80
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				23
+			],
+			[
+				"MOV`",
+				0,
+				50
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				24
+			],
+			[
+				"MOV`",
+				0,
+				48
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				25
+			],
+			[
+				"MOV`",
+				0,
+				48
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				26
+			],
+			[
+				"MOV`",
+				0,
+				48
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				27
+			],
+			[
+				"MOV`",
+				0,
+				48
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				28
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				1,
+				30
+			],
+			[
+				"LDW",
+				2,
+				"SP",
+				42
+			],
+			[
+				"BRC",
+				"000++0000",
+				-124
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				1,
+				30
+			],
+			[
+				"ADD`",
+				2,
+				"SP",
+				42
+			],
+			[
+				"BRC",
+				"000++0000",
+				-100
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				14
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				255
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00-00",
+				109276
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				15
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				255
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00-00",
+				110734
+			],
+			[
+				"MOV`",
+				0,
+				13
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				39
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				20
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				42
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				42
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				13
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				39
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				39
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				13
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				114940
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				1
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				39
+			],
+			[
+				"SUB`",
+				2,
+				2,
+				30
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				115750
+			],
+			[
+				"MUL`",
+				1,
+				1,
+				1
+			],
+			[
+				"ADD",
+				1,
+				"SP",
+				1
+			],
+			[
+				"LDT",
+				1,
+				1,
+				9
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				39
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				1
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				39
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-24
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				39
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				13
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				118180
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				1
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"MOV`",
+				1,
+				0
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				45
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				117
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				19
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				114
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				114
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				10
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				11
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				12
+			],
+			[
+				"MOV`",
+				0,
+				104
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				13
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				191
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				14
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				15
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				16
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				17
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				18
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				19
+			],
+			[
+				"MOV`",
+				0,
+				255
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				20
+			],
+			[
+				"MOV`",
+				0,
+				255
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				21
+			],
+			[
+				"MOV`",
+				0,
+				255
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				22
+			],
+			[
+				"MOV`",
+				0,
+				255
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				23
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				24
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				25
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				26
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				27
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				1,
+				100
+			],
+			[
+				"LDW",
+				2,
+				"SP",
+				114
+			],
+			[
+				"BRC",
+				"000++0000",
+				-225
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				9
+			],
+			[
+				"MOV`",
+				1,
+				100
+			],
+			[
+				"ADD`",
+				2,
+				"SP",
+				114
+			],
+			[
+				"BRC",
+				"000++0000",
+				-201
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				14
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				39
+			],
+			[
+				"LDW",
+				1,
+				"SB",
+				0
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00-00",
+				163789
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				16
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				7
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				0
+			],
+			[
+				"LDW",
+				1,
+				1,
+				0
+			],
+			[
+				"ADD`",
+				1,
+				1,
+				1
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				117
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				123
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				2,
+				"SP",
+				9
+			],
+			[
+				"STW",
+				3,
+				"SP",
+				12
+			],
+			[
+				"MOV`",
+				0,
+				17
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				120
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				15
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				16
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				17
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				18
+			],
+			[
+				"MOV`",
+				0,
+				110
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				19
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				26
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				20
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				21
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				22
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				23
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				24
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				25
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				26
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				27
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				28
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				29
+			],
+			[
+				"MOV`",
+				0,
+				1
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				30
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				31
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				32
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				33
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				120
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				2
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				120
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				117
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				117
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				117
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				12
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				206308
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				1
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				9
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"LDT",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-00000",
+				301
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				120
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				117
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"SUB`",
+				1,
+				1,
+				100
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				207604
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				1
+			],
+			[
+				"ADD",
+				0,
+				"SP",
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				117
+			],
+			[
+				"LDW",
+				2,
+				"SP",
+				12
+			],
+			[
+				"SUB",
+				2,
+				2,
+				2
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				208657
+			],
+			[
+				"MUL`",
+				1,
+				1,
+				1
+			],
+			[
+				"LDW",
+				2,
+				"SP",
+				9
+			],
+			[
+				"ADD",
+				1,
+				1,
+				1
+			],
+			[
+				"LDT",
+				1,
+				1,
+				0
+			],
+			[
+				"STT",
+				1,
+				1,
+				15
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				117
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				1
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				117
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-33
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				117
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				32
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				120
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				117
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				120
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				120
+			],
+			[
+				"STT",
+				0,
+				"SP",
+				15
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				15
+			],
+			[
+				"MOV`",
+				1,
+				100
+			],
+			[
+				"LDW",
+				2,
+				"SP",
+				120
+			],
+			[
+				"BRC",
+				"000++0000",
+				-343
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				15
+			],
+			[
+				"MOV`",
+				1,
+				100
+			],
+			[
+				"ADD`",
+				2,
+				"SP",
+				120
+			],
+			[
+				"BRC",
+				"000++0000",
+				-319
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				20
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				85
+			],
+			[
+				"LDW",
+				1,
+				"SB",
+				0
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00-00",
+				224539
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				19
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				111
+			],
+			[
+				"BRC",
+				"000-00-00",
+				0
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				22
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+00-00",
+				228022
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				24
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				19
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				107
+			],
+			[
+				"BRC",
+				"000-00-00",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				123
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				18
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				26
+			],
+			[
+				"ADD`",
+				1,
+				"SB",
+				9
+			],
+			[
+				"LDW",
+				2,
+				2,
+				0
+			],
+			[
+				"ADD`",
+				1,
+				1,
+				3
+			],
+			[
+				"STW",
+				2,
+				2,
+				0
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"LSL`",
+				2,
+				2,
+				-18
+			],
+			[
+				"BRC",
+				"000-0+000",
+				-6
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				3
+			],
+			[
+				"MOV`",
+				1,
+				15
+			],
+			[
+				"BRC",
+				"000++0000",
+				-311
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				3
+			],
+			[
+				"MOV`",
+				1,
+				15
+			],
+			[
+				"BRC",
+				"000++0000",
+				1063932
+			],
+			[
+				"BRC",
+				"000++0000",
+				1064341
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				16
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				81
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				3
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SB",
+				6
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				3
+			],
+			[
+				"ADD`",
+				1,
+				"SB",
+				6
+			],
+			[
+				"BRC",
+				"000++0000",
+				-224
+			],
+			[
+				"BRC",
+				"000++0000",
+				1064351
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				10
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				3
+			],
+			[
+				"BRC",
+				"000++0000",
+				1065072
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				3
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				6
+			],
+			[
+				"BRC",
+				"000++0000",
+				1065072
+			],
+			[
+				"BRC",
+				"000++0000",
+				1064341
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				18
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				33
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				10
+			],
+			[
+				"ADD`",
+				1,
+				"SB",
+				12
+			],
+			[
+				"LDW",
+				2,
+				2,
+				0
+			],
+			[
+				"ADD`",
+				1,
+				1,
+				3
+			],
+			[
+				"STW",
+				2,
+				2,
+				0
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				3
+			],
+			[
+				"LSL`",
+				2,
+				2,
+				-18
+			],
+			[
+				"BRC",
+				"000-0+000",
+				-6
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				3
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				10
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				3
+			],
+			[
+				"ADD`",
+				1,
+				"SP",
+				3
+			],
+			[
+				"ADD`",
+				2,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				3,
+				27
+			],
+			[
+				"BRC",
+				"000++0000",
+				-184
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"BRC",
+				"000++0000",
+				1065093
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				33
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				23
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				21
+			],
+			[
+				"MOV`",
+				1,
+				14
+			],
+			[
+				"BRC",
+				"000++0000",
+				1063620
+			],
+			[
+				"BRC",
+				"000++0000",
+				1064341
+			],
+			[
+				"BRC",
+				"000++0000",
+				-71
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				6
+			],
+			[
+				"LDW",
+				0,
+				"SB",
+				6
+			],
+			[
+				"BRC",
+				"000-00000",
+				0
+			],
+			[
+				"BRC",
+				"000++0000",
+				-36
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				5
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				36
+			],
+			[
+				"MOV`",
+				1,
+				20
+			],
+			[
+				"BRC",
+				"000++0000",
+				1063621
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			]
+		],
+		"nons": [
+			"Z3Y3YZ200002X",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"3023Y00000010",
+			"Z000000000000",
+			"3003Y00000013",
+			"X003Y00000013",
+			"X013Y00000010",
+			"10000Z2000001",
+			"Z2X4000000002W",
+			"Z000000000004",
+			"X013Y00000013",
+			"X023Y0000001X",
+			"10201Z2000002",
+			"1Y33001XX3013W",
+			"Z010110000001",
+			"X023Y00000003",
+			"101021Y000001",
+			"Z4010100000000",
+			"Z2400001001022",
+			"X003Y00000013",
+			"Z00001Y000001",
+			"3003Y00000013",
+			"Z2Y000000000Y0",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00002X",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000020",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"3023Y00000010",
+			"Z000000000000",
+			"3003Y00000013",
+			"Z000000000000",
+			"X013Y00000010",
+			"3000100000000",
+			"Z000000000004",
+			"Z013Y1Y00002X",
+			"Z2400001004022",
+			"Z4003Y0000002X",
+			"X013Y00000010",
+			"3000100000000",
+			"Z000000000001",
+			"3003Y00000013",
+			"Z4003Y0000002X",
+			"Z240000200301Y",
+			"X003Y00000013",
+			"X013Y00000010",
+			"X010100000000",
+			"10000Z2000001",
+			"Z2X40000000020",
+			"Z000000000004",
+			"Z013Y1Y00002X",
+			"Z240000100401Z",
+			"X003Y00000013",
+			"X013Y0000001X",
+			"10100Z2000001",
+			"1Y330010Y3013W",
+			"Z000010000001",
+			"X013Y00000003",
+			"100011Y000000",
+			"Z4013Y0000002X",
+			"1W010000000000",
+			"Z4003Y0000002X",
+			"Z2400002003012",
+			"X003Y00000013",
+			"Z00001Y000001",
+			"3003Y00000013",
+			"Z2Y000000000X4",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000020",
+			"1YY0000000003Z",
+			"Z3Y3YZ20001W0",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"Z000000000021",
+			"3003Y000001WX",
+			"X003Y000001WX",
+			"1W003Y00000010",
+			"Z000000000000",
+			"1W003Y00000011",
+			"Z000000000000",
+			"1W003Y00000012",
+			"Z000000000000",
+			"1W003Y00000013",
+			"Z000000000121",
+			"1W003Y00000014",
+			"Z000000000313",
+			"1W003Y0000002W",
+			"Z000000000313",
+			"1W003Y0000002X",
+			"Z000000000100",
+			"1W003Y0000002Y",
+			"Z000000000000",
+			"1W003Y0000002Z",
+			"Z000000000000",
+			"1W003Y00000020",
+			"Z000000000000",
+			"1W003Y00000021",
+			"Z00000000001X",
+			"1W003Y00000022",
+			"Z000000000000",
+			"1W003Y00000023",
+			"Z0000000001X3",
+			"1W003Y00000024",
+			"Z00000000010Z",
+			"1W003Y0000003W",
+			"Z0000000001XW",
+			"1W003Y0000003X",
+			"Z0000000001W3",
+			"1W003Y0000003Y",
+			"Z0000000001W3",
+			"1W003Y0000003Z",
+			"Z0000000001W3",
+			"1W003Y00000030",
+			"Z0000000001W3",
+			"1W003Y00000031",
+			"Z003Y1Y000010",
+			"Z010000000033",
+			"X023Y000001WX",
+			"Z2400000000Y42",
+			"Z003Y1Y000010",
+			"Z010000000033",
+			"Z023Y1Y0001WX",
+			"Z2400000000ZYZ",
+			"Z4003Y0000002W",
+			"Z0000Z2000313",
+			"1Y3Z002ZXZ1Y3W",
+			"Z4003Y0000002X",
+			"Z0000Z2000313",
+			"1Y3Z002ZZZ1Y3W",
+			"Z000000000014",
+			"3003Y00000043",
+			"Z4003Y00000022",
+			"3003Y000001WX",
+			"X003Y000001WX",
+			"Z00001Y000014",
+			"X013Y00000043",
+			"10101Z2000000",
+			"Z2X40000000021",
+			"X003Y00000043",
+			"Z0000Z2000014",
+			"X013Y0000001X",
+			"10100Z2000001",
+			"1Y330020WX013W",
+			"Z000010000001",
+			"X013Y00000003",
+			"100011Y000000",
+			"X013Y00000043",
+			"Z0201Z2000033",
+			"1Y330020XY013W",
+			"Z010110000001",
+			"1013Y1Y000001",
+			"Z4010100000010",
+			"1W010000000000",
+			"X003Y00000043",
+			"Z00001Y000001",
+			"3003Y00000043",
+			"Z2Y000000000X3",
+			"X003Y00000043",
+			"Z0000Z2000014",
+			"X013Y0000001X",
+			"10100Z2000001",
+			"1Y33002001013W",
+			"Z000010000001",
+			"X013Y00000003",
+			"100011Y000000",
+			"Z010000000000",
+			"1W010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y0001W0",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000140",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"Z000000000021",
+			"3003Y0000014X",
+			"X003Y0000014X",
+			"1W003Y00000010",
+			"Z000000000000",
+			"1W003Y00000011",
+			"Z000000000000",
+			"1W003Y00000012",
+			"Z000000000000",
+			"1W003Y00000013",
+			"Z00000000013W",
+			"1W003Y00000014",
+			"X3X0000000232",
+			"X003X00000000",
+			"1W003Y0000002W",
+			"Z000000000000",
+			"1W003Y0000002X",
+			"X003Y00000003",
+			"X000000000000",
+			"1W003Y0000002Y",
+			"Z000000000000",
+			"1W003Y0000002Z",
+			"Z000000000000",
+			"1W003Y00000020",
+			"Z000000000000",
+			"1W003Y00000021",
+			"Z000000000313",
+			"1W003Y00000022",
+			"Z000000000313",
+			"1W003Y00000023",
+			"Z000000000313",
+			"1W003Y00000024",
+			"Z000000000313",
+			"1W003Y0000003W",
+			"Z000000000000",
+			"1W003Y0000003X",
+			"Z000000000000",
+			"1W003Y0000003Y",
+			"Z000000000000",
+			"1W003Y0000003Z",
+			"Z000000000000",
+			"1W003Y00000030",
+			"Z003Y1Y000010",
+			"Z010000000121",
+			"X023Y0000014X",
+			"Z2400000000X20",
+			"Z003Y1Y000010",
+			"Z010000000121",
+			"Z023Y1Y00014X",
+			"Z2400000000YWX",
+			"Z4003Y0000002W",
+			"X3X0000000043",
+			"X013X00000000",
+			"10000Z2000001",
+			"1Y3Z003Y0X1Y3W",
+			"Z4003Y0000002Y",
+			"X013Y0000001X",
+			"3000100000000",
+			"X3X000000001Y",
+			"Z003X1Y000000",
+			"X010000000000",
+			"Z01011Y000001",
+			"3010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000140",
+			"1YY0000000003Z",
+			"Z3Y3YZ20002WX",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"3023Y00000010",
+			"3033Y00000013",
+			"Z00000000002Z",
+			"3003Y00000143",
+			"Z000000000000",
+			"1W003Y0000002X",
+			"Z000000000000",
+			"1W003Y0000002Y",
+			"Z000000000000",
+			"1W003Y0000002Z",
+			"Z000000000000",
+			"1W003Y00000020",
+			"Z000000000132",
+			"1W003Y00000021",
+			"X3X000000003Z",
+			"X003X00000000",
+			"1W003Y00000022",
+			"Z000000000000",
+			"1W003Y00000023",
+			"X003Y00000003",
+			"1W003Y00000024",
+			"Z000000000000",
+			"1W003Y0000003W",
+			"Z000000000000",
+			"1W003Y0000003X",
+			"Z000000000000",
+			"1W003Y0000003Y",
+			"X003Y0000001X",
+			"X000000000000",
+			"1W003Y0000003Z",
+			"Z000000000000",
+			"1W003Y00000030",
+			"Z000000000000",
+			"1W003Y00000031",
+			"Z000000000000",
+			"1W003Y00000032",
+			"Z000000000001",
+			"1W003Y00000033",
+			"Z000000000000",
+			"1W003Y00000034",
+			"Z000000000000",
+			"1W003Y0000004W",
+			"Z000000000000",
+			"1W003Y0000004X",
+			"X003Y00000143",
+			"Z00001Y000002",
+			"3003Y00000143",
+			"Z000000000000",
+			"3003Y00000140",
+			"X003Y00000013",
+			"X013Y00000140",
+			"10101Z2000000",
+			"Z2X40000000032",
+			"X003Y00000140",
+			"X013Y00000013",
+			"10100Z2000001",
+			"1Y33003440013W",
+			"Z000010000001",
+			"X013Y00000010",
+			"100011Y000000",
+			"Z4000000000000",
+			"Z2X00000000022",
+			"X003Y00000143",
+			"X013Y00000140",
+			"100001Y000001",
+			"Z0100Z2000121",
+			"1Y33004WXY013W",
+			"Z000010000001",
+			"1003Y1Y000000",
+			"X013Y00000140",
+			"X023Y00000013",
+			"10201Z2000002",
+			"1Y33004WY2013W",
+			"Z010110000001",
+			"X023Y00000010",
+			"101021Y000001",
+			"Z4010100000000",
+			"1W01000000002X",
+			"X003Y00000140",
+			"Z00001Y000001",
+			"3003Y00000140",
+			"Z2Y000000000W3",
+			"X003Y00000140",
+			"1W003Y0000004W",
+			"X003Y00000143",
+			"X013Y00000140",
+			"100001Y000001",
+			"3003Y00000143",
+			"X003Y00000143",
+			"1W003Y0000002X",
+			"Z003Y1Y00002X",
+			"Z010000000121",
+			"X023Y00000143",
+			"Z2400000000WYZ",
+			"Z003Y1Y00002X",
+			"Z010000000121",
+			"Z023Y1Y000143",
+			"Z2400000000W1W",
+			"Z4003Y00000022",
+			"X3X0000000104",
+			"X013X00000000",
+			"10000Z2000001",
+			"1Y3Z004Y201Y3W",
+			"Z4003Y00000021",
+			"Z0000Z2000133",
+			"Z2XZ000000001Y",
+			"Z4003Y00000024",
+			"Z0000Z2000001",
+			"1Y3Z004ZYY1Y3W",
+			"Z4003Y0000003X",
+			"X013Y0000001X",
+			"3000100000000",
+			"Z2Y0000000001X",
+			"Z4003Y00000021",
+			"Z0000Z200013Z",
+			"Z2XZ0000000003",
+			"Z000000000000",
+			"X013Y0000001X",
+			"3000100000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y0002WX",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000020",
+			"33Z3Y00000000",
+			"Z003Y1Y000003",
+			"X3X000000003Z",
+			"Z013X1Y000010",
+			"X020100000000",
+			"Z01011Y000003",
+			"3020000000000",
+			"Z00001Y000003",
+			"Z0202010000Y0",
+			"Z2X300000000Z3",
+			"Z003Y1Y000003",
+			"Z01000000002X",
+			"Z2400000000W14",
+			"Z003Y1Y000003",
+			"Z01000000002X",
+			"Z240000200140X",
+			"Z2400002002001",
+			"Z000000000000",
+			"X3X000000002Y",
+			"3003X00000000",
+			"Z000000000100",
+			"3003X00000003",
+			"Z000000000000",
+			"3003X0000001X",
+			"Z003X1Y000003",
+			"Z013X1Y00001X",
+			"Z2400000000X21",
+			"Z2400002002012",
+			"X3X0000000011",
+			"X003X00000003",
+			"Z2400002003003",
+			"X3X0000000003",
+			"X003X0000001X",
+			"Z2400002003003",
+			"Z2400002002001",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000020",
+			"1YY0000000003Z",
+			"Z3Y3YZ200004X",
+			"33Z3Y00000000",
+			"Z003Y1Y00001X",
+			"X3X0000000011",
+			"Z013X1Y000013",
+			"X020100000000",
+			"Z01011Y000003",
+			"3020000000000",
+			"Z00001Y000003",
+			"Z0202010000Y0",
+			"Z2X300000000Z3",
+			"X003X00000003",
+			"Z000010000011",
+			"3003Y00000003",
+			"X003X00000003",
+			"Z013Y1Y000003",
+			"Z023Y1Y00001X",
+			"Z030000000030",
+			"Z2400000000YYW",
+			"X003Y00000003",
+			"Z240000200303X",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00004X",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"X3X000000003W",
+			"Z003X1Y000023",
+			"Z01000000002W",
+			"Z2400002001010",
+			"Z2400002002001",
+			"Z2400000000Z11",
+			"X3X000000001X",
+			"X003X0000001X",
+			"Z2X00000000002",
+			"Z24000000000W0",
+			"Z2Y00000000004",
+			"X3X000000001W",
+			"Z003X1Y000040",
+			"Z010000000022",
+			"Z2400002001011",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z"
+		],
+		"fixorgD": 447,
+		"fixorgP": 450
+	},
+	"varsize": 9,
+	"entry": 1302,
+	"strings": [
+		0,
+		0,
+		0,
+		67,
+		111,
+		114,
+		101,
+		46,
+		116,
+		99,
+		0,
+		0,
+		72,
+		101,
+		108,
+		108,
+		111,
+		44,
+		32,
+		70,
+		105,
+		108,
+		101,
+		115,
+		33,
+		0,
+		0,
+		110,
+		111,
+		116,
+		32,
+		99,
+		111,
+		110,
+		110,
+		101,
+		99,
+		116,
+		101,
+		100,
+		32,
+		116,
+		111,
+		32,
+		102,
+		115,
+		0,
+		0
+	]
+}

+ 2 - 0
web/tc/Files.ts

@@ -0,0 +1,2 @@
+{
+}

+ 391 - 0
web/tc/Log.tc

@@ -0,0 +1,391 @@
+{
+	"imports": [
+		{
+			"name": "RS232",
+			"val": 0
+		}
+	],
+	"entries": [
+		0,
+		30,
+		51,
+		78,
+		102
+	],
+	"code": {
+		"asm": [
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"BRC",
+				"000++0000",
+				532905
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				13
+			],
+			[
+				"BRC",
+				"000++0000",
+				533635
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				6
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"BRC",
+				"000++0000",
+				532179
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				6
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				-1
+			],
+			[
+				"MOV`",
+				1,
+				27
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"MOV`",
+				0,
+				-1
+			],
+			[
+				"MOV`",
+				1,
+				7
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				44
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				0
+			],
+			[
+				"MOV`",
+				1,
+				12
+			],
+			[
+				"BRC",
+				"000++0000",
+				-48
+			],
+			[
+				"BRC",
+				"000++0000",
+				-39
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			]
+		],
+		"nons": [
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"X003Y00000003",
+			"X013Y0000001X",
+			"Z240000100201X",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"Z000000000014",
+			"Z240000100301Y",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z",
+			"Z3Y3YZ200001X",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"Z000000000000",
+			"X013Y00000003",
+			"Z2400001001010",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00001X",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"Z00000000000Z",
+			"Z010000000030",
+			"1W010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"Z00000000000Z",
+			"Z01000000001Y",
+			"1W010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"X3X00000001WZ",
+			"Z003X1Y000000",
+			"Z010000000013",
+			"Z2400000000Z4X",
+			"Z24000000000WX",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z"
+		],
+		"fixorgD": 44,
+		"fixorgP": 22
+	},
+	"varsize": 0,
+	"entry": 126,
+	"strings": [
+		72,
+		101,
+		108,
+		108,
+		111,
+		44,
+		32,
+		76,
+		111,
+		103,
+		33,
+		0
+	]
+}

+ 73 - 0
web/tc/Log.ts

@@ -0,0 +1,73 @@
+{
+	"String": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+			{
+				"class": 3,
+				"rdo": true,
+				"ref": 0,
+				"form": 12,
+				"base": {
+					"ref": -3
+				},
+				"len": -1,
+				"size": 6
+			}
+		],
+		"exno": 1
+	},
+	"Ln": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+		],
+		"exno": 2
+	},
+	"Int": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+			{
+				"class": 2,
+				"rdo": false,
+				"ref": -4
+			}
+		],
+		"exno": 3
+	},
+	"Break": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+		],
+		"exno": 4
+	},
+	"Beep": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+		],
+		"exno": 5
+	}
+}

+ 1004 - 0
web/tc/RS232.tc

@@ -0,0 +1,1004 @@
+{
+	"imports": [
+	],
+	"entries": [
+		114,
+		159,
+		303,
+		351
+	],
+	"code": {
+		"asm": [
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				-24
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				3
+			],
+			[
+				"BRC",
+				"000-00-00",
+				-6
+			],
+			[
+				"MOV`",
+				0,
+				-27
+			],
+			[
+				"LDT",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STT",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				-24
+			],
+			[
+				"LDW",
+				0,
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"SUB`",
+				0,
+				0,
+				6
+			],
+			[
+				"BRC",
+				"000-00-00",
+				-6
+			],
+			[
+				"MOV`",
+				0,
+				-27
+			],
+			[
+				"LDT",
+				0,
+				0,
+				0
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"STT",
+				0,
+				0,
+				0
+			],
+			[
+				"MOV`",
+				0,
+				-24
+			],
+			[
+				"MOV`",
+				1,
+				3
+			],
+			[
+				"STW",
+				1,
+				1,
+				0
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				1
+			],
+			[
+				"BRC",
+				"000++0000",
+				-44
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				3
+			],
+			[
+				"BRC",
+				"000++0000",
+				-46
+			],
+			[
+				"MOV`",
+				0,
+				2
+			],
+			[
+				"BRC",
+				"000++0000",
+				-48
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				6
+			],
+			[
+				"BRC",
+				"000++0000",
+				-50
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				15
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				1
+			],
+			[
+				"BRC",
+				"000++0000",
+				-59
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000++0000",
+				-61
+			],
+			[
+				"MOV`",
+				0,
+				3
+			],
+			[
+				"BRC",
+				"000++0000",
+				-63
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				12
+			],
+			[
+				"SUB",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-0++00",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				61399
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				1
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"LDT",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000-00000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"SUB",
+				1,
+				1,
+				1
+			],
+			[
+				"BRR",
+				"MT",
+				"000+0+000",
+				63181
+			],
+			[
+				"MUL`",
+				0,
+				0,
+				1
+			],
+			[
+				"LDW",
+				1,
+				"SP",
+				3
+			],
+			[
+				"ADD",
+				0,
+				0,
+				0
+			],
+			[
+				"LDT",
+				0,
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000++0000",
+				-89
+			],
+			[
+				"BRC",
+				"000-+0000",
+				0
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				12
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"ADD`",
+				0,
+				0,
+				1
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				9
+			],
+			[
+				"BRC",
+				"000-+0000",
+				-29
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000++0000",
+				-98
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				15
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				6
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"MOV`",
+				0,
+				1
+			],
+			[
+				"BRC",
+				"000++0000",
+				-106
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000++0000",
+				-108
+			],
+			[
+				"MOV`",
+				0,
+				3
+			],
+			[
+				"BRC",
+				"000++0000",
+				-110
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				3
+			],
+			[
+				"BRC",
+				"000++0000",
+				-112
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"BRC",
+				"000++0000",
+				-114
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				6
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"STW",
+				0,
+				"SP",
+				3
+			],
+			[
+				"STW",
+				1,
+				"SP",
+				6
+			],
+			[
+				"MOV`",
+				0,
+				1
+			],
+			[
+				"BRC",
+				"000++0000",
+				-123
+			],
+			[
+				"LDT",
+				0,
+				"SP",
+				3
+			],
+			[
+				"BRC",
+				"000++0000",
+				-125
+			],
+			[
+				"MOV`",
+				0,
+				4
+			],
+			[
+				"BRC",
+				"000++0000",
+				-127
+			],
+			[
+				"LDW",
+				0,
+				"SP",
+				6
+			],
+			[
+				"BRC",
+				"000++0000",
+				-112
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				9
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			],
+			[
+				"SUB`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"STW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"LDW",
+				"SB",
+				24,
+				134
+			],
+			[
+				"ADD`",
+				0,
+				"SB",
+				54
+			],
+			[
+				"MOV`",
+				1,
+				10
+			],
+			[
+				"BRC",
+				"000++0000",
+				-85
+			],
+			[
+				"MOV`",
+				0,
+				0
+			],
+			[
+				"MOV`",
+				1,
+				232
+			],
+			[
+				"BRC",
+				"000++0000",
+				-103
+			],
+			[
+				"MOV`",
+				0,
+				13
+			],
+			[
+				"BRC",
+				"000++0000",
+				-42
+			],
+			[
+				"LDW",
+				"LNK",
+				"SP",
+				0
+			],
+			[
+				"ADD`",
+				"SP",
+				"SP",
+				3
+			],
+			[
+				"BRR",
+				"LNK",
+				"000-+0000",
+				0
+			]
+		],
+		"nons": [
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"Z000000000000",
+			"3003Y0000001X",
+			"Z0000000000X3",
+			"X000000000000",
+			"3003Y0000001X",
+			"X003Y0000001X",
+			"Z0000Z2000003",
+			"Z2XZ00000000Z3",
+			"Z0000000000X0",
+			"Z4013Y00000003",
+			"1W010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"Z000000000000",
+			"3003Y0000001X",
+			"Z0000000000X3",
+			"X000000000000",
+			"3003Y0000001X",
+			"X003Y0000001X",
+			"Z0000Z200001X",
+			"Z2XZ00000000Z3",
+			"Z0000000000X0",
+			"Z4000000000000",
+			"X013Y00000003",
+			"1W000100000000",
+			"Z0000000000X3",
+			"Z010000000003",
+			"3010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"Z000000000001",
+			"Z2400000000Z41",
+			"Z4003Y00000003",
+			"Z2400000000Z4Z",
+			"Z000000000002",
+			"Z2400000000Z4X",
+			"Z4003Y0000001X",
+			"Z2400000000Z34",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z3Y3YZ200002X",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"Z000000000001",
+			"Z2400000000Z24",
+			"Z000000000000",
+			"Z2400000000Z22",
+			"Z000000000003",
+			"Z2400000000Z20",
+			"Z000000000000",
+			"3003Y00000010",
+			"X003Y0000001X",
+			"3003Y00000013",
+			"X003Y00000010",
+			"X013Y00000013",
+			"10000Z2000001",
+			"Z2X4000000003Y",
+			"X003Y00000010",
+			"X013Y0000001X",
+			"10100Z2000001",
+			"1Y33001032013W",
+			"Z000010000001",
+			"X013Y00000003",
+			"100011Y000000",
+			"Z4000000000000",
+			"Z2X00000000011",
+			"X003Y00000010",
+			"X013Y0000001X",
+			"10100Z2000001",
+			"1Y330011XX013W",
+			"Z000010000001",
+			"X013Y00000003",
+			"100011Y000000",
+			"Z4000000000000",
+			"Z2400000000ZZ1",
+			"Z2Y00000000002",
+			"X003Y00000013",
+			"3003Y00000010",
+			"X003Y00000010",
+			"Z00001Y000001",
+			"3003Y00000010",
+			"Z2Y000000000XY",
+			"Z000000000000",
+			"Z2400000000ZY1",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00002X",
+			"1YY0000000003Z",
+			"Z3Y3YZ200001X",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"Z000000000001",
+			"Z2400000000ZX2",
+			"Z000000000000",
+			"Z2400000000ZX0",
+			"Z000000000003",
+			"Z2400000000ZXY",
+			"Z4003Y00000003",
+			"Z2400000000ZXW",
+			"Z000000000000",
+			"Z2400000000ZW3",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y00001X",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000010",
+			"33Z3Y00000000",
+			"3003Y00000003",
+			"3013Y0000001X",
+			"Z000000000001",
+			"Z2400000000Y43",
+			"Z4003Y00000003",
+			"Z2400000000Y41",
+			"Z000000000004",
+			"Z2400000000Y4Z",
+			"X003Y0000001X",
+			"Z2400000000ZXW",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000010",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"X3X00000002XZ",
+			"Z003X1Y0001X0",
+			"Z010000000011",
+			"Z2400000000Z0W",
+			"Z000000000000",
+			"Z0100000003ZY",
+			"Z2400000000ZYW",
+			"Z000000000014",
+			"Z2400000000Z43",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z"
+		],
+		"fixorgD": 134,
+		"fixorgP": 0
+	},
+	"varsize": 54,
+	"entry": 396,
+	"strings": [
+		72,
+		101,
+		108,
+		108,
+		111,
+		44,
+		32,
+		82,
+		83,
+		0,
+		0,
+		0
+	]
+}

+ 82 - 0
web/tc/RS232.ts

@@ -0,0 +1,82 @@
+{
+	"SendTryte": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+			{
+				"class": 2,
+				"rdo": false,
+				"ref": -1
+			},
+			{
+				"class": 2,
+				"rdo": false,
+				"ref": -1
+			}
+		],
+		"exno": 1
+	},
+	"SendString": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+			{
+				"class": 3,
+				"rdo": true,
+				"ref": 0,
+				"form": 12,
+				"base": {
+					"ref": -3
+				},
+				"len": -1,
+				"size": 6
+			}
+		],
+		"exno": 2
+	},
+	"SendChar": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+			{
+				"class": 2,
+				"rdo": false,
+				"ref": -3
+			}
+		],
+		"exno": 3
+	},
+	"RecvTryte": {
+		"class": 1,
+		"ref": 0,
+		"form": 10,
+		"base": {
+			"ref": -9
+		},
+		"par": [
+			{
+				"class": 3,
+				"rdo": false,
+				"ref": -1
+			},
+			{
+				"class": 2,
+				"rdo": false,
+				"ref": -1
+			}
+		],
+		"exno": 4
+	}
+}

+ 56 - 0
web/tc/Test2.tc

@@ -0,0 +1,56 @@
+{
+	"imports": [
+	],
+	"entries": [
+	],
+	"code": {
+		"nons": [
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"Z00000000000Z",
+			"Z010000000030",
+			"1W010000000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z",
+			"Z3Y3YZ2000003",
+			"33Z3Y00000000",
+			"Z00000000001W",
+			"X3X0000000012",
+			"3003X00000003",
+			"Z000000000001",
+			"3003X0000001X",
+			"X003X00000003",
+			"Z0000Z200001W",
+			"Z2XZ000000001X",
+			"X3X000000001Y",
+			"X003X0000001X",
+			"Z0000Z2000001",
+			"Z2XZ0000000002",
+			"Z000000000001",
+			"Z2Y00000000001",
+			"Z000000000000",
+			"X3X000000001Y",
+			"1W003X00000000",
+			"X003X0000001X",
+			"Z0000Z2000001",
+			"Z2X00000000004",
+			"X3X000000001W",
+			"X003X00000003",
+			"Z0000Z200001W",
+			"Z2XZ0000000002",
+			"Z000000000001",
+			"Z2Y00000000001",
+			"Z000000000000",
+			"X3X000000001Y",
+			"1W003X00000000",
+			"X3Z3Y00000000",
+			"Z3Y3Y1Y000003",
+			"1YY0000000003Z"
+		],
+		"fixorgD": 37,
+		"fixorgP": 0
+	},
+	"varsize": 9,
+	"entry": 24
+}

+ 2 - 0
web/tc/Test2.ts

@@ -0,0 +1,2 @@
+{
+}

+ 11 - 0
web/tc/bootstrap.tc

@@ -0,0 +1,11 @@
+{
+	"code": {
+		"nons": [
+			"Z3W0000000100",
+			"Z3Y0000000Z00",
+			"Z3Z000000000X",
+			"Z1Z0000000003",
+			"1YY0000000001Z"
+		]
+	}
+}