#include "externs.h"

void cineExecute1c00(void) {
    switch (register_PC) {

case 0x1d70:

      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x1a;
      register_A = flag_C = acc_a0 = 0x001a;
      /* opOUTbi_A_A (93) */
      /* opOUTsnd_A (93) */
      set_sound_data(0);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (90) */
      /* opOUTsnd_A (90) */
      set_sound_addr_A(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (91) */
      /* opOUTsnd_A (91) */
      set_sound_addr_B(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (92) */
      /* opOUTsnd_A (92) */
      set_sound_addr_C(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x14;
      register_A = flag_C = acc_a0 = 0x0014;
      /* opOUTbi_A_A (93) */
      /* opOUTsnd_A (93) */
      set_sound_data(0);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (90) */
      /* opOUTsnd_A (90) */
      set_sound_addr_A(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (91) */
      /* opOUTsnd_A (91) */
      set_sound_addr_B(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (92) */
      /* opOUTsnd_A (92) */
      set_sound_addr_C(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x1c;
      register_A = flag_C = acc_a0 = 0x001c;
      /* opOUTbi_A_A (93) */
      /* opOUTsnd_A (93) */
      set_sound_data(0);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (90) */
      /* opOUTsnd_A (90) */
      set_sound_addr_A(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (91) */
      /* opOUTsnd_A (91) */
      set_sound_addr_B(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (92) */
      /* opOUTsnd_A (92) */
      set_sound_addr_C(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x18;
      register_A = flag_C = acc_a0 = 0x0018;
      /* opOUTbi_A_A (93) */
      /* opOUTsnd_A (93) */
      set_sound_data(0);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (90) */
      /* opOUTsnd_A (90) */
      set_sound_addr_A(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (91) */
      /* opOUTsnd_A (91) */
      set_sound_addr_B(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (92) */
      /* opOUTsnd_A (92) */
      set_sound_addr_C(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLDJimm_A_A (45) */
      register_J = 0x0005;
      /* opJMP_A_A (58) */
      {register_PC = 0x1005; break;};

case 0x1dc0:

      /* Invariants: register_P = 0x2 register_I = 0x1f register_A = 0x308 */;
      /* opNOP_A_A (5f) */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opLDPimm_A_A (86) */
      register_P = 0x6; /* set page register */
      /* opCMPdir_A_AA (b9) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x69]) ^ 0xFFF) + 1 + register_A);
      /* opLDJimm_A_A (45) */
      register_J = 0x0dd5;
      /* opJEQ_A_AA (5c) */
      if (cmp_new == cmp_old) {register_PC = 0x1dd5; break;};
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x11;
      register_A = flag_C = acc_a0 = 0x0011;
      /* opOUTbi_A_A (93) */
      /* opOUTsnd_A (93) */
      set_sound_data(1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (90) */
      /* opOUTsnd_A (90) */
      set_sound_addr_A(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (91) */
      /* opOUTsnd_A (91) */
      set_sound_addr_B(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (92) */
      /* opOUTsnd_A (92) */
      set_sound_addr_C(register_A&1);
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opOUTbi_A_A (94) */
      /* opOUTsnd_A (94) */
      if (register_A&1) strobe_sound_on(); else strobe_sound_off();

case 0x1dd5:

      /* Invariants: register_P = 0x6 register_I = 0x69 register_A = 0x00 */;
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opSTAdir_A_A (d9) */
      ram[register_I = 0x29] = 0x000; /* store acc to RAM */
      /* opLDPimm_A_A (87) */
      register_P = 0x7; /* set page register */
      /* opSTAdir_A_A (d3) */
      ram[register_I = 0x73] = 0x000; /* store acc to RAM */
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d7) */
      ram[register_I = 0x37] = 0x000; /* store acc to RAM */
      /* opSTAdir_A_A (d9) */
      ram[register_I = 0x39] = 0x000; /* store acc to RAM */
      /* opSTAdir_A_A (dd) */
      ram[register_I = 0x3d] = 0x000; /* store acc to RAM */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d7) */
      ram[register_I = 0x47] = 0x000; /* store acc to RAM */
      /* opSTAdir_A_A (d9) */
      ram[register_I = 0x49] = 0x000; /* store acc to RAM */
      /* opSTAdir_A_A (dd) */
      ram[register_I = 0x4d] = 0x000; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d7) */
      ram[register_I = 0x57] = 0x000; /* store acc to RAM */
      /* opSTAdir_A_A (d9) */
      ram[register_I = 0x59] = 0x000; /* store acc to RAM */
      /* opSTAdir_A_A (dd) */
      ram[register_I = 0x5d] = 0x000; /* store acc to RAM */
      /* opLDAimm_A_AA (0f) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0f00;
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d3) */
      ram[register_I = 0x33] = 0xf00; /* store acc to RAM */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d3) */
      ram[register_I = 0x43] = 0xf00; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d3) */
      ram[register_I = 0x53] = 0xf00; /* store acc to RAM */
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opNOP_A_B (57) */
      /* opLDAdir_B_AA (a3) */
      flag_C = acc_a0 = register_A;
      cmp_old = register_B; /* store old acc */
      register_B = cmp_new = ram[register_I = (register_P << 4) + 0x03]; /* new acc value */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opADDdir_A_AA (62) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = ram[register_I = 0x22]))) & 0xFFF; /* do acc operation */
      /* opNOP_A_B (57) */
      /* opLDAirg_B_AA (ea) */
      flag_C = acc_a0 = register_A;
      cmp_old = register_B;
      register_B = cmp_new = ram[register_I];
      
      /* opSTAirg_A_A (e6) */
      ram[0x22] = register_A; /* store acc */
      /* opLDAimm_A_AA (02) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0200;
      /* opANDirg_A_AA (e9) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A &= (cmp_new = ram[register_I]);
      /* opLSLe_A_AA (ec) */
      cmp_new = 0x0CEC;
      cmp_old = acc_a0 = register_A;
      flag_C = (0x0CEC + register_A);
      register_A = (register_A << 1) & 0x0FFF;
      /* opSTAirg_A_A (e6) */
      ram[0x22] = register_A; /* store acc */
      /* opNOP_A_B (57) */
      /* opAWDirg_B_AA (e7) */
      acc_a0 = register_A;
      cmp_old = register_B;
      register_B = (flag_C = (register_B + (cmp_new = ram[register_I]))) & 0xFFF;
      set_watchdog();
      /* opLDAdir_A_AA (a3) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x23]; /* set I register */
      
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opSTAirg_A_A (e6) */
      ram[0x23] = register_A; /* store acc */
      /* opNOP_A_B (57) */
      /* opSTAdir_B_BB (d2) */
      ram[register_I = (register_P << 4) + 0x2] = register_B; /* set I register and store B to ram */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0xff;
      register_A = flag_C = acc_a0 = 0x00ff;
      /* opLDPimm_A_A (82) */
      /* opCMPdir_A_AA (b3) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x23]) ^ 0xFFF) + 1 + register_A);
      /* opANDirg_A_AA (e9) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A &= (cmp_new = ram[register_I]);
      /* opADDimmX_A_AA (20) */
      register_A = (flag_C = ((acc_a0 = cmp_old = register_A) + (cmp_new = 0x00ff))) & 0xFFF; /* add values */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d8) */
      ram[register_I = 0x58] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d8) */
      ram[register_I = 0x38] = 0x000; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSUBdir_A_AA (78) */
      cmp_old = acc_a0 = register_A;
      register_A = (flag_C = (register_A + ((cmp_new = ram[register_I = 0x58]) ^ 0xFFF) + 1)) & 0xFFF; /* set regI addr */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d8) */
      ram[register_I = 0x48] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (0c) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0c00;
      /* opSTAdir_A_A (da) */
      ram[register_I = 0x4a] = 0xc00; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (da) */
      ram[register_I = 0x5a] = 0xc00; /* store acc to RAM */
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (da) */
      ram[register_I = 0x3a] = 0xc00; /* store acc to RAM */
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opLDAdir_A_AA (a2) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x22]; /* set I register */
      
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLDJimm_A_A (4d) */
      register_J = 0x0e9d;
      /* opJA0_A_A (5e) */
      if (acc_a0 & 0x01) {register_PC = 0x1e9d; break;};
      
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opJA0_A_A (5e) */
      if (acc_a0 & 0x01) {register_PC = 0x1e9d; break;};
      
      /* opLDPimm_A_A (82) */
      /* opLDAdir_A_AA (a3) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x23]; /* set I register */
      
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opLDJimm_A_A (4b) */
      register_J = 0x0e5b;
      /* opJA0_A_A (5e) */
      if (acc_a0 & 0x01) {register_PC = 0x1e5b; break;};
      
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x32] = register_A; /* store acc to RAM */
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opAWDirg_A_AA (e7) */
      cmp_old = acc_a0 = register_A;
      register_A = (flag_C = (register_A + (cmp_new = ram[0x32]))) & 0xFFF;
      set_watchdog();
      /* opSTAirg_A_A (e6) */
      ram[0x32] = register_A; /* store acc */
      /* opSUBimmX_A_AA (30) */
      cmp_old = acc_a0 = register_A; /* back up regA */
      register_A = (flag_C = (register_A + (((cmp_new = 0x7f) ^ 0xFFF) + 1))) & 0xFFF; /* add */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x42] = register_A; /* store acc to RAM */
      /* opADDimmX_A_AA (20) */
      register_A = (flag_C = ((acc_a0 = cmp_old = register_A) + (cmp_new = 0x00fe))) & 0xFFF; /* add values */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x52] = register_A; /* store acc to RAM */
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x55] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opSUBirg_A_AA (e8) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + ((cmp_new = ram[register_I]) ^ 0xFFF) + 1)) & 0xFFF; /* ones compliment */
      /* opSTAirg_A_A (e6) */
      ram[0x55] = register_A; /* store acc */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x45] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x35] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (08) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0800;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opCMPdir_A_AA (b3) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x23]) ^ 0xFFF) + 1 + register_A);
      /* opLDJimm_A_A (48) */
      register_J = 0x0e88;
      /* opJLT_A_A (5b) */
      if (cmp_new < cmp_old) {register_PC = 0x1e88; break;};
      /* opLDAimm_A_AA (09) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0900;
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x31] = 0x900; /* store acc to RAM */
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0xff;
      register_A = flag_C = acc_a0 = 0x09ff;
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x41] = 0x9ff; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x51] = 0x9ff; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x20;
      register_A = flag_C = acc_a0 = 0x0020;
      /* opLDJimm_A_A (44) */
      register_J = 0x0e94;
      /* opJMP_A_A (58) */
      {register_PC = 0x1e94; break;};

case 0x1e5b:

      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x31] = register_A; /* store acc to RAM */
      /* opSUBimmX_A_AA (30) */
      cmp_old = acc_a0 = register_A; /* back up regA */
      register_A = (flag_C = (register_A + (((cmp_new = 0x7f) ^ 0xFFF) + 1))) & 0xFFF; /* add */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x41] = register_A; /* store acc to RAM */
      /* opADDimmX_A_AA (20) */
      register_A = (flag_C = ((acc_a0 = cmp_old = register_A) + (cmp_new = 0x00fe))) & 0xFFF; /* add values */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x51] = register_A; /* store acc to RAM */
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x54] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opSUBirg_A_AA (e8) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + ((cmp_new = ram[register_I]) ^ 0xFFF) + 1)) & 0xFFF; /* ones compliment */
      /* opSTAirg_A_A (e6) */
      ram[0x54] = register_A; /* store acc */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x44] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x34] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (07) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0700;
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x42] = 0x700; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x52] = 0x700; /* store acc to RAM */
      /* opSUBimmX_A_AA (30) */
      cmp_old = acc_a0 = register_A; /* back up regA */
      register_A = (flag_C = (register_A + (((cmp_new = 0xff) ^ 0xFFF) + 1))) & 0xFFF; /* add */
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x32] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (0f) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0f00;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0xe0;
      register_A = flag_C = acc_a0 = 0x0fe0;
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x35] = 0xfe0; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x55] = 0xfe0; /* store acc to RAM */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x45] = 0xfe0; /* store acc to RAM */
      /* opLDJimm_A_A (4a) */
      register_J = 0x0e9a;
      /* opJMP_A_A (58) */
      {register_PC = 0x1e9a; break;};

case 0x1e88:

      /* opLDAimm_A_AA (07) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0700;
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x31] = 0x700; /* store acc to RAM */
      /* opSUBimmX_A_AA (30) */
      cmp_old = acc_a0 = register_A; /* back up regA */
      register_A = (flag_C = (register_A + (((cmp_new = 0xff) ^ 0xFFF) + 1))) & 0xFFF; /* add */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x41] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x51] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (0f) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0f00;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0xe0;
      register_A = flag_C = acc_a0 = 0x0fe0;

case 0x1e94:

      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x34] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x44] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x54] = register_A; /* store acc to RAM */

case 0x1e9a:

      /* opLDJimm_A_A (48) */
      register_J = 0x0ef8;
      /* opJMP_A_A (58) */
      {register_PC = 0x1ef8; break;};

case 0x1e9d:

      /* Invariants: register_P = 0x2 register_I = 0x22 */;
      /* opLDPimm_A_A (82) */
      /* opLDAdir_A_AA (a3) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x23]; /* set I register */
      
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x42] = register_A; /* store acc to RAM */
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opAWDirg_A_AA (e7) */
      cmp_old = acc_a0 = register_A;
      register_A = (flag_C = (register_A + (cmp_new = ram[0x42]))) & 0xFFF;
      set_watchdog();
      /* opSTAirg_A_A (e6) */
      ram[0x42] = register_A; /* store acc */
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x45] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opSUBirg_A_AA (e8) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + ((cmp_new = ram[register_I]) ^ 0xFFF) + 1)) & 0xFFF; /* ones compliment */
      /* opSTAirg_A_A (e6) */
      ram[0x45] = register_A; /* store acc */
      /* opLDAimm_A_AA (09) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0900;
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x41] = 0x900; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x18;
      register_A = flag_C = acc_a0 = 0x0018;
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x44] = 0x018; /* store acc to RAM */
      /* opLDAimm_A_AA (07) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0700;
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x32] = 0x700; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x51] = 0x700; /* store acc to RAM */
      /* opLDAimm_A_AA (0f) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0f00;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0xe8;
      register_A = flag_C = acc_a0 = 0x0fe8;
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x54] = 0xfe8; /* store acc to RAM */
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x35] = 0xfe8; /* store acc to RAM */
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opLDAdir_A_AA (a2) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x22]; /* set I register */
      
      /* opLSLe_A_AA (ec) */
      cmp_new = 0x0CEC;
      cmp_old = acc_a0 = register_A;
      flag_C = (0x0CEC + register_A);
      register_A = (register_A << 1) & 0x0FFF;
      /* opLSLe_A_AA (ec) */
      cmp_new = 0x0CEC;
      cmp_old = acc_a0 = register_A;
      flag_C = (0x0CEC + register_A);
      register_A = (register_A << 1) & 0x0FFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d1) */
      ram[register_I = 0x31] = register_A; /* store acc to RAM */
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x34] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opNOP_A_B (57) */
      /* opLDAdir_B_AA (a3) */
      flag_C = acc_a0 = register_A;
      cmp_old = register_B; /* store old acc */
      register_B = cmp_new = ram[register_I = (register_P << 4) + 0x03]; /* new acc value */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opADDdir_A_AA (62) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = ram[register_I = 0x22]))) & 0xFFF; /* do acc operation */
      /* opNOP_A_B (57) */
      /* opLDAirg_B_AA (ea) */
      flag_C = acc_a0 = register_A;
      cmp_old = register_B;
      register_B = cmp_new = ram[register_I];
      
      /* opSTAirg_A_A (e6) */
      ram[0x22] = register_A; /* store acc */
      /* opLDAimm_A_AA (02) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0200;
      /* opANDirg_A_AA (e9) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A &= (cmp_new = ram[register_I]);
      /* opLSLe_A_AA (ec) */
      cmp_new = 0x0CEC;
      cmp_old = acc_a0 = register_A;
      flag_C = (0x0CEC + register_A);
      register_A = (register_A << 1) & 0x0FFF;
      /* opSTAirg_A_A (e6) */
      ram[0x22] = register_A; /* store acc */
      /* opNOP_A_B (57) */
      /* opAWDirg_B_AA (e7) */
      acc_a0 = register_A;
      cmp_old = register_B;
      register_B = (flag_C = (register_B + (cmp_new = ram[register_I]))) & 0xFFF;
      set_watchdog();
      /* opLDAdir_A_AA (a3) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x23]; /* set I register */
      
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opSTAirg_A_A (e6) */
      ram[0x23] = register_A; /* store acc */
      /* opNOP_A_B (57) */
      /* opSTAdir_B_BB (d2) */
      ram[register_I = (register_P << 4) + 0x2] = register_B; /* set I register and store B to ram */
      /* opLDAdir_A_AA (a3) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x23]; /* set I register */
      
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d2) */
      ram[register_I = 0x52] = register_A; /* store acc to RAM */
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opAWDirg_A_AA (e7) */
      cmp_old = acc_a0 = register_A;
      register_A = (flag_C = (register_A + (cmp_new = ram[0x52]))) & 0xFFF;
      set_watchdog();
      /* opSTAirg_A_A (e6) */
      ram[0x52] = register_A; /* store acc */
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opASRe_A_AA (ed) */
      cmp_new = 0xDED; cmp_old = flag_C = acc_a0 = register_A;
      register_A = SEX(register_A); /* make signed */
      register_A = (((signed short int)(((signed short int)register_A) >> (signed short int)1)) /* SAR */) & 0xFFF;
      /* opSTAdir_A_A (d5) */
      ram[register_I = 0x55] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opSUBirg_A_AA (e8) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + ((cmp_new = ram[register_I]) ^ 0xFFF) + 1)) & 0xFFF; /* ones compliment */
      /* opSTAirg_A_A (e6) */
      ram[0x55] = register_A; /* store acc */

case 0x1ef8:

      /* Invariants: register_P = 0x5 register_I = 0x55 */;
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x20;
      register_A = flag_C = acc_a0 = 0x0020;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opSTAdir_A_A (de) */
      ram[register_I = 0x2e] = 0x020; /* store acc to RAM */
      /* opLDPimm_A_A (86) */
      register_P = 0x6; /* set page register */
      /* opCMPdir_A_AA (ba) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x6a]) ^ 0xFFF) + 1 + register_A);
      /* opLDJimm_A_A (48) */
      register_J = 0x0f48;
      /* opJLT_A_A (5b) */
      if (cmp_new < cmp_old) {register_PC = 0x1f48; break;};
      /* opLDAimm_A_AA (02) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0200;
      /* opCMPdir_A_AA (ba) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x6a]) ^ 0xFFF) + 1 + register_A);
      /* opLDJimm_A_A (4e) */
      register_J = 0x0f3e;
      /* opJLT_A_A (5b) */
      if (cmp_new < cmp_old) {register_PC = 0x1f3e; break;};
      /* opLSLe_A_AA (ec) */
      cmp_new = 0x0CEC;
      cmp_old = acc_a0 = register_A;
      flag_C = (0x0CEC + register_A);
      register_A = (register_A << 1) & 0x0FFF;
      /* opCMPdir_A_AA (ba) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x6a]) ^ 0xFFF) + 1 + register_A);
      /* opLDJimm_A_A (40) */
      register_J = 0x0f30;
      /* opJLT_A_A (5b) */
      if (cmp_new < cmp_old) {register_PC = 0x1f30; break;};
      /* opLDAimm_A_AA (06) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0600;
      /* opCMPdir_A_AA (ba) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x6a]) ^ 0xFFF) + 1 + register_A);
      /* opLDJimm_A_A (41) */
      register_J = 0x0f21;
      /* opJLT_A_A (5b) */
      if (cmp_new < cmp_old) {register_PC = 0x1f21; break;};
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x3c;
      register_A = flag_C = acc_a0 = 0x003c;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opSTAdir_A_A (de) */
      ram[register_I = 0x2e] = 0x03c; /* store acc to RAM */
      /* opLDPimm_A_A (86) */
      register_P = 0x6; /* set page register */
      /* opLDAdir_A_AA (aa) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x6a]; /* set I register */
      
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opSUBimmX_A_AA (30) */
      cmp_old = acc_a0 = register_A; /* back up regA */
      register_A = (flag_C = (register_A + (((cmp_new = 0x60) ^ 0xFFF) + 1))) & 0xFFF; /* add */
      /* opLDJimm_A_A (41) */
      register_J = 0x0f41;
      /* opJMP_A_A (58) */
      {register_PC = 0x1f41; break;};

case 0x1f21:

      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x38;
      register_A = flag_C = acc_a0 = 0x0038;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opSTAdir_A_A (de) */
      ram[register_I = 0x2e] = 0x038; /* store acc to RAM */
      /* opLDPimm_A_A (86) */
      register_P = 0x6; /* set page register */
      /* opLDAdir_A_AA (aa) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x6a]; /* set I register */
      
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opSUBimmX_A_AA (30) */
      cmp_old = acc_a0 = register_A; /* back up regA */
      register_A = (flag_C = (register_A + (((cmp_new = 0x80) ^ 0xFFF) + 1))) & 0xFFF; /* add */
      /* opLDJimm_A_A (41) */
      register_J = 0x0f41;
      /* opJMP_A_A (58) */
      {register_PC = 0x1f41; break;};

case 0x1f30:

      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x30;
      register_A = flag_C = acc_a0 = 0x0030;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opSTAdir_A_A (de) */
      ram[register_I = 0x2e] = 0x030; /* store acc to RAM */
      /* opLDPimm_A_A (86) */
      register_P = 0x6; /* set page register */
      /* opLDAdir_A_AA (aa) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x6a]; /* set I register */
      
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opSUBimmX_A_AA (30) */
      cmp_old = acc_a0 = register_A; /* back up regA */
      register_A = (flag_C = (register_A + (((cmp_new = 0x80) ^ 0xFFF) + 1))) & 0xFFF; /* add */
      /* opLDJimm_A_A (41) */
      register_J = 0x0f41;
      /* opJMP_A_A (58) */
      {register_PC = 0x1f41; break;};

case 0x1f3e:

      /* opLDPimm_A_A (86) */
      register_P = 0x6; /* set page register */
      /* opLDAdir_A_AA (aa) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x6a]; /* set I register */
      
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;

case 0x1f41:

      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opADDdir_A_AA (6e) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = ram[register_I = 0x2e]))) & 0xFFF; /* do acc operation */
      /* opSTAirg_A_A (e6) */
      ram[0x2e] = register_A; /* store acc */

case 0x1f48:

      /* Invariants: register_P = 0x6 register_I = 0x6a register_A = 0x20 */;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opLDAdir_A_AA (a3) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x23]; /* set I register */
      
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLDJimm_A_A (4c) */
      register_J = 0x0f6c;
      /* opJA0_A_A (5e) */
      if (acc_a0 & 0x01) {register_PC = 0x1f6c; break;};
      
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLDJimm_A_A (4f) */
      register_J = 0x0f5f;
      /* opJA0_A_A (5e) */
      if (acc_a0 & 0x01) {register_PC = 0x1f5f; break;};
      
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x23;
      register_A = flag_C = acc_a0 = 0x0023;
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x24] = 0x023; /* store acc to RAM */
      /* opLDAdir_A_AA (ae) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x2e]; /* set I register */
      
      /* opADDimm_A_AA (2c) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = 0xc))) & 0xFFF; /* add values, save carry */
      
      /* opSTAirg_A_A (e6) */
      ram[0x2e] = register_A; /* store acc */
      /* opLDAimm_A_AA (05) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0500;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x39;
      register_A = flag_C = acc_a0 = 0x0539;
      /* opLDJimm_A_A (43) */
      register_J = 0x0f83;
      /* opJMP_A_A (58) */
      {register_PC = 0x1f83; break;};

case 0x1f5f:

      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x17;
      register_A = flag_C = acc_a0 = 0x0017;
      /* opSTAdir_A_A (d4) */
      ram[register_I = (register_P << 4) + 0x4] = 0x017; /* store acc to RAM */
      /* opLDAdir_A_AA (ae) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = (register_P << 4) + 0x0e]; /* set I register */
      
      /* opADDimm_A_AA (28) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = 0x8))) & 0xFFF; /* add values, save carry */
      
      /* opSTAirg_A_A (e6) */
      ram[register_I] = register_A; /* store acc */
      /* opLDAimm_A_AA (05) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0500;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x03;
      register_A = flag_C = acc_a0 = 0x0503;
      /* opLDJimm_A_A (43) */
      register_J = 0x0f83;
      /* opJMP_A_A (58) */
      {register_PC = 0x1f83; break;};

case 0x1f6c:

      /* Invariants: register_P = 0x2 register_I = 0x23 register_A = 0x196 */;
      /* opLSRe_A_AA (eb) */
      cmp_new = 0x0BEB; cmp_old = acc_a0 = register_A; flag_C = (0x0BEB + register_A);
      register_A >>= 1;
      /* opLDJimm_A_A (4d) */
      register_J = 0x0f7d;
      /* opJA0_A_A (5e) */
      if (acc_a0 & 0x01) {register_PC = 0x1f7d; break;};
      
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x11;
      register_A = flag_C = acc_a0 = 0x0011;
      /* opSTAdir_A_A (d4) */
      ram[register_I = 0x24] = 0x011; /* store acc to RAM */
      /* opLDAdir_A_AA (ae) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x2e]; /* set I register */
      
      /* opADDimm_A_AA (24) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = 0x4))) & 0xFFF; /* add values, save carry */
      
      /* opSTAirg_A_A (e6) */
      ram[0x2e] = register_A; /* store acc */
      /* opLDAimm_A_AA (04) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0400;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0xc7;
      register_A = flag_C = acc_a0 = 0x04c7;
      /* opLDJimm_A_A (43) */
      register_J = 0x0f83;
      /* opJMP_A_A (58) */
      {register_PC = 0x1f83; break;};

case 0x1f7d:

      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimm_A_AA (27) */
      cmp_new = 0x7; cmp_old = acc_a0 = register_A; register_A = flag_C = 0x0007;
      
      /* opSTAdir_A_A (d4) */
      ram[register_I = (register_P << 4) + 0x4] = 0x007; /* store acc to RAM */
      /* opLDAimm_A_AA (04) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0400;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x81;
      register_A = flag_C = acc_a0 = 0x0481;

case 0x1f83:

      /* Invariants: register_P = 0x2 register_I = 0x2e */;
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d0) */
      ram[register_I = 0x30] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d0) */
      ram[register_I = 0x40] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d0) */
      ram[register_I = 0x50] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opLDPimm_A_A (86) */
      register_P = 0x6; /* set page register */
      /* opCMPdir_A_AA (b9) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x69]) ^ 0xFFF) + 1 + register_A);
      /* opLDJimm_A_A (49) */
      register_J = 0x0f99;
      /* opJEQ_A_AA (5c) */
      if (cmp_new == cmp_old) {register_PC = 0x1f99; break;};
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x10;
      register_A = flag_C = acc_a0 = 0x0010;
      /* opLDPimm_A_A (86) */
      /* opCMPdir_A_AA (ba) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x6a]) ^ 0xFFF) + 1 + register_A);
      /* opJNC_A_AA (5d) */
      if (!(flag_C & CARRYBIT)) {register_PC = 0x1f99; break;};
      /* opLDAirg_A_AA (ea) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = ram[register_I];
      /* opLSLe_A_AA (ec) */
      cmp_new = 0x0CEC;
      cmp_old = acc_a0 = register_A;
      flag_C = (0x0CEC + register_A);
      register_A = (register_A << 1) & 0x0FFF;
      /* opADDimm_A_AA (2f) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = 0xf))) & 0xFFF; /* add values, save carry */
      
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opSTAdir_A_A (de) */
      ram[register_I = 0x2e] = register_A; /* store acc to RAM */

case 0x1f99:

      /* Invariants: register_P = 0xdeadbeef register_I = 0x2e */;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opLDAdir_A_AA (ae) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = 0x2e]; /* set I register */
      
      /* opLDPimm_A_A (83) */
      register_P = 0x3; /* set page register */
      /* opSTAdir_A_A (d6) */
      ram[register_I = 0x36] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (84) */
      register_P = 0x4; /* set page register */
      /* opSTAdir_A_A (d6) */
      ram[register_I = 0x46] = register_A; /* store acc to RAM */
      /* opLDPimm_A_A (85) */
      register_P = 0x5; /* set page register */
      /* opSTAdir_A_A (d6) */
      ram[register_I = 0x56] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (0c) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0x0c00;
      /* opADDimmX_A_AA (20) */
      cmp_old = register_A; cmp_new = 0x7e;
      register_A = flag_C = acc_a0 = 0x0c7e;
      /* opLDPimm_A_A (82) */
      register_P = 0x2; /* set page register */
      /* opSTAdir_A_A (de) */
      ram[register_I = 0x2e] = 0xc7e; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimm_A_AA (27) */
      cmp_new = 0x7; cmp_old = acc_a0 = register_A; register_A = flag_C = 0x0007;
      
      /* opLDPimm_A_A (82) */
      /* opCMPdir_A_AA (b2) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x22]) ^ 0xFFF) + 1 + register_A);
      /* opANDirg_A_AA (e9) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A &= (cmp_new = ram[register_I]);
      /* opLSLe_A_AA (ec) */
      cmp_new = 0x0CEC;
      cmp_old = acc_a0 = register_A;
      flag_C = (0x0CEC + register_A);
      register_A = (register_A << 1) & 0x0FFF;
      /* opLDPimm_A_A (82) */
      /* opADDdir_A_AA (6e) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = ram[register_I = 0x2e]))) & 0xFFF; /* do acc operation */
      /* opSTAirg_A_A (e6) */
      ram[0x2e] = register_A; /* store acc */
      /* opADDimm_A_AA (21) */
      register_A = (flag_C = ((cmp_old = acc_a0 = register_A) + (cmp_new = 0x1))) & 0xFFF; /* add values, save carry */
      
      /* opXLT_A_AA (e2) */
      cmp_old = register_A; register_A = cmp_new = rom[0x1000 | register_A]; /* new acc value */
      /* opNOP_A_A (5f) */
      /* opSTAdir_A_A (d5) */
      ram[register_I = (register_P << 4) + 0x5] = register_A; /* store acc to RAM */
      /* opNOP_A_B (57) */
      /* opLDAirg_B_AA (ea) */
      flag_C = acc_a0 = register_A;
      cmp_old = register_B;
      register_B = cmp_new = ram[register_I];
      
      /* opLDAdir_A_AA (ae) */
      cmp_old = flag_C = acc_a0 = register_A; /* store old acc */
      register_A = cmp_new = ram[register_I = (register_P << 4) + 0x0e]; /* set I register */
      
      /* opXLT_A_AA (e2) */
      cmp_old = register_A; register_A = cmp_new = rom[0x1000 | register_A]; /* new acc value */
      /* opNOP_A_A (5f) */
      /* opSTAirg_A_A (e6) */
      ram[register_I] = register_A; /* store acc */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opASRDe_A_AA (ee) */
      cmp_new = 0x0EEE; cmp_old = acc_a0 = register_A; flag_C = (0x0EEE + register_A);
      register_A = (register_A >> 1) | ((register_B & 1) << 11);
      register_B = (register_B >> 1) | (register_B & 0x800);
      /* opAWDirg_A_AA (e7) */
      cmp_old = acc_a0 = register_A;
      register_A = (flag_C = (register_A + (cmp_new = ram[register_I]))) & 0xFFF;
      set_watchdog();
      /* opSTAdir_A_A (d5) */
      ram[register_I = (register_P << 4) + 0x5] = register_A; /* store acc to RAM */
      /* opLDAimm_A_AA (00) */
      cmp_old = flag_C = acc_a0 = register_A;
      register_A = cmp_new = 0;
      /* opADDimm_A_AA (27) */
      cmp_new = 0x7; cmp_old = acc_a0 = register_A; register_A = flag_C = 0x0007;
      
      /* opSTAdir_A_A (d0) */
      ram[register_I = (register_P << 4) + 0x0] = 0x007; /* store acc to RAM */
      /* opLDPimm_A_A (81) */
      register_P = 0x1; /* set page register */
      /* opCMPdir_A_AA (bf) */
      cmp_old = acc_a0 = register_A; /* backup old acc */
      flag_C = (((cmp_new = ram[register_I = 0x1f]) ^ 0xFFF) + 1 + register_A);

case 0x1fc5:

      /* Invariants: register_P = 0x1 register_I = 0x1f register_A = 0x07 */;
      /* opLDJirg_A_A (e1) */
      /* load J reg from value at last dir addr */
      register_J = ram[0x1f];
      /* opLDPimm_A_A (81) */
      /* opJPP8_A_B (50) */
      register_PC = register_J; /* Jump to other rom bank */
      /* WARNING: UNKNOWN JUMP DESTINATION - MAY FOUL UP CODE OPTIMISATIONS */
      break;

    default:
        /* Jumping to any illegal address or end of eprom will come here */
        /* we ought to reinitialise or something */
        ;
    }
}

