Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
/* vtoc pu17hanlan.cv pu17.cv uart16.cv x4ram.cv xcadders.cv xi4000.cv -o pu17c.c -id pu17core -root PU17CORE -mode1 clk */
/* User=/home/djg */
/* Output from CBG vtoc V0.1 alpha. CBG/TT CVA EDA CORE (Core release 1.1 mar 99). */
#include
#include "ttvtoc.h"
/* start of tt generated C code */
static int ttvtoc_ticks = 0; /*used for $time */
void pu17core( unsigned int *abus16, unsigned int *dbus16_in, unsigned int *dbus16_out, unsigned int *clk, unsigned int *reset, unsigned int *opreq, unsigned int *irq, unsigned int *rwbar, unsigned int *byteop, unsigned int *waitb)
{
unsigned static int rfile_y;
unsigned static int rfile_wen;
unsigned static int rfile_nd;
unsigned static int rfile_wa;
unsigned static int rfile_r0;
unsigned static int rfile_r1;
unsigned static int rfile_r2;
unsigned static int rfile_r3;
unsigned static int rfile_r4;
unsigned static int rfile_r5;
unsigned static int rfile_r6;
unsigned static int rfile_r7;
unsigned static int pualu_addsub_c;
unsigned static int pualu_addsub_bb;
unsigned static int pualu_addsub_q;
unsigned static int pualu_addsub_neta;
unsigned static int pualu_addsub_netb;
unsigned static int pualu_addsub_msb_a;
unsigned static int pualu_addsub_msb_bb;
unsigned static int pualu_carry;
unsigned static int pualu_zero;
unsigned static int pualu_negative;
unsigned static int pualu_overflow;
unsigned static int pualu_addsub;
unsigned static int pualu_n_carry;
unsigned static int pualu_n_overflow;
unsigned static int pc;
unsigned static int next_pc;
unsigned static int rbus;
unsigned static int alubus;
unsigned static int argbus;
unsigned static int ahold;
unsigned static int lastr;
unsigned static int branch_yes;
unsigned static int sreset;
unsigned static int execute;
unsigned static int internal;
unsigned static int update_flags;
unsigned static int branch_condition;
unsigned static int regwen;
unsigned static int bdest;
unsigned static int regnum;
unsigned static int write;
unsigned static int byteopreq;
unsigned static int imed8;
unsigned static int argreq;
unsigned static int argcycle;
unsigned static int linkf;
unsigned static int regind;
unsigned static int idx7;
unsigned static int rlasave;
unsigned static int exreq;
unsigned static int f0a;
unsigned static int f0b;
unsigned static int f0c;
unsigned static int f1;
unsigned static int last_cycle;
unsigned static int f1req;
unsigned static int branch;
unsigned static int fc;
unsigned static int argislast;
unsigned static int multiple;
unsigned static int internal_req;
unsigned static int multiple_reg;
unsigned static int ins_l;
unsigned static int ins;
unsigned static int advance;
unsigned static int old_multiple;
ins = 65535 & (((f0a) ? *dbus16_in:ins_l));
imed8 = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):0));
update_flags = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 1:0):0):0))))));
regwen = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1 & ~((15 & ins>>3)==5) && 1 & ~((15 & ins>>3)==13):0):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 1 & ~((15 & ins>>3)==5) && 1 & ~((15 & ins>>3)==13):0):(((3 & ins>>10)==1) ? (((1 & ins>>5)==0) ? ((execute) ? 1:0):0):(((3 & ins>>10)==2) ? ((f1) ? (((15 & ins>>2)==15) ? 1:0):0):(((3 & ins>>10)==3) ? ((((1 & ins>>1) ? 1:0)) ? 0:((f1) ? 1:0)):0)))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 1:0):0):(((3 & ins>>10)==1) ? ((f1) ? 1:0):0)):0)))))));
regnum = 7 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 7 & ins>>7:0):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 7 & ins_l>>7:((f0c) ? (((3 & ins>>10)==3) ? 7:3 & ins>>10):0)):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 7 & ins_l>>7:((f0c) ? (((3 & ins>>10)==3) ? 7:3 & ins>>10):0)):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 7 & ins_l>>7:((f0c) ? 7 & ins:0)):(((3 & ins>>10)==1) ? 7 & ins>>7:(((3 & ins>>10)==2) ? ((f1) ? (((15 & ins>>2)==15) ? 6:0):0):(((3 & ins>>10)==3) ? ((f1) ? multiple_reg:((f0c) ? 7:0)):0)))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 6:((f0c) ? 7 & ins>>7:0)):((f0c) ? 7 & ins>>7:0)):(((3 & ins>>10)==1) ? 7 & ins>>7:0)):0)))))));
fc = 15 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 15 & ins>>3:12):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 12:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 12:((12==(15 & ins>>12)) ? 12:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 15 & ins>>3:12):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? 12:((f0c) ? 0:12)):12):12)))))));
last_cycle = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((12==(15 & ins>>12)) ? 1:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 1:0):(((3 & ins>>10)==1) ? ((execute) ? 1:0):(((3 & ins>>10)==2) ? ((f1) ? 1:0):(((3 & ins>>10)==3) ? ((f1) ? multiple_reg==8:0):0)))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 1:0):((f0c) ? 1:0)):(((3 & ins>>10)==1) ? ((f1) ? 1:0):0)):0)))))));
multiple = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 0:(((3 & ins>>10)==2) ? 0:(((3 & ins>>10)==3) ? ((f1) ? 1:0):0)))):0))))));
branch_condition = 15 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 15 & ins>>2:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 15 & ins>>2:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 15 & ins>>2:((12==(15 & ins>>12)) ? 15 & ins>>8:15 & ins>>2)))));
argislast = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 1:0):0):0))))));
regind = 0;
idx7 = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):0))));
linkf = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 0:(((3 & ins>>10)==2) ? ((f1) ? (((15 & ins>>2)==15) ? 1:0):0):0))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 1:0):0):0):0)))))));
pualu_addsub_c = 1 & (((1==fc) ? 0:((3==fc) ? pualu_carry:((4==fc) ? pualu_carry:1))));
next_pc = pc + 2 & 65535;
*abus16 = (((f0a | f1) ? pc:((multiple) ? lastr + (multiple_reg<<1):((idx7) ? lastr + (((((((((1 & ins_l>>5)<<15 | (1 & ins_l>>5)<<14) | (1 & ins_l>>5)<<13) | (1 & ins_l>>5)<<12) | (1 & ins_l>>5)<<11) | (1 & ins_l>>5)<<10) | (1 & ins_l>>5)<<9) | (1 & ins_l>>5)<<8) | (127 & ins_l)<<1):((regind) ? lastr:ahold))))) & 65535;
argbus = 65535 & (((imed8) ? (31 & ins>>10)<<3 | 7 & ins:((argislast) ? lastr:((linkf) ? next_pc:((*byteop & (1 & ~(1 & *abus16))) ? 255 & *dbus16_in:((*byteop & (1 & *abus16)) ? 255 & *dbus16_in>>8:*dbus16_in))))));
pualu_addsub_bb = 65535 & (((1==fc) ? argbus:((3==fc) ? argbus:65535 & ~argbus)));
rbus = (((regnum==0) ? rfile_r0:((regnum==1) ? rfile_r1:((regnum==2) ? rfile_r2:((regnum==3) ? rfile_r3:((regnum==4) ? rfile_r4:((regnum==5) ? rfile_r5:((regnum==6) ? rfile_r6:rfile_r7)))))))) & 65535;
pualu_addsub_neta = 67108863 & (rbus<<1 | pualu_addsub_c);
pualu_addsub_netb = 67108863 & (pualu_addsub_bb<<1 | pualu_addsub_c);
pualu_addsub_q = pualu_addsub_neta + pualu_addsub_netb & 67108863;
pualu_addsub = (65535 & pualu_addsub_q>>1) & 65535;
alubus = 65535 & (((0==fc) ? 65535 & rbus:((1==fc) ? 65535 & pualu_addsub:((2==fc) ? 65535 & pualu_addsub:((3==fc) ? 65535 & pualu_addsub:((4==fc) ? 65535 & pualu_addsub:((5==fc) ? 65535 & pualu_addsub:((6==fc) ? 65535 & rbus | 65535 & argbus:((7==fc) ? 65535 & (rbus & argbus):((8==fc) ? 65535 & (rbus ^ argbus):((9==fc) ? 65535 & rbus<<1:((10==fc) ? 65535 & (32768 & rbus | 32767 & rbus>>1):((11==fc) ? 65535 & rbus>>1:((12==fc) ? 65535 & argbus:65535 & pualu_addsub))))))))))))));
bdest = 65535 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? pc + ((((((((1 & ins>>7)<<15 | (1 & ins>>7)<<14) | (1 & ins>>7)<<13) | (1 & ins>>7)<<12) | (1 & ins>>7)<<11) | (1 & ins>>7)<<10) | (1 & ins>>7)<<9) | 510 & ins<<1):((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 0:(((3 & ins>>10)==2) ? ((f1) ? *dbus16_in:0):0))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? lastr:0):((f0c) ? alubus:0)):0):0)))))));
branch_yes = 1 & (((0==branch_condition) ? pualu_zero:((1==branch_condition) ? 1 & ~pualu_zero:((2==branch_condition) ? pualu_negative ^ pualu_overflow:((3==branch_condition) ? 1 & ~(pualu_negative ^ pualu_overflow) | pualu_zero:((4==branch_condition) ? 1 & ~(pualu_negative ^ pualu_overflow) & 1 & ~pualu_zero:((5==branch_condition) ? pualu_negative ^ pualu_overflow | pualu_zero:((6==branch_condition) ? pualu_carry:((7==branch_condition) ? 1 & ~pualu_carry:((8==branch_condition) ? pualu_overflow:((9==branch_condition) ? 1 & ~pualu_overflow:((10==branch_condition) ? 1:((11==branch_condition) ? 1 & ~pualu_carry & 1 & ~pualu_zero:((12==branch_condition) ? pualu_carry | pualu_zero:((13==branch_condition) ? 1 & ~pualu_negative:((14==branch_condition) ? pualu_negative:1))))))))))))))));
branch = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? branch_yes:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 0:(((3 & ins>>10)==2) ? ((f1) ? (((15 & ins>>2)==15) ? 1:branch_yes):0):0))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 1:0):((f0c) ? 1:0)):0):0)))))));
exreq = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((f0c) ? 1:0):(((3 & ins>>10)==1) ? ((f1) ? 1:0):0)):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((f0c) ? 1:0):0):0):0)))))));
internal_req = 0;
f1req = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? ((f0b) ? 1:0):(((3 & ins>>10)==2) ? ((f0c) ? 1:0):(((3 & ins>>10)==3) ? ((f1) ? 1 & ~(multiple_reg==8):((f0c) ? 1:0)):0)))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? ((f0c) ? 1:0):0)):0)))))));
byteopreq = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1 & ins>>13:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1 & ins>>13:0):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 1 & ins_l>>6:0)):0))))));
argreq = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? ((f1) ? 1:0):0)):0))))));
write = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? (((1 & ins>>5)==0) ? 0:((execute) ? 1:0)):(((3 & ins>>10)==2) ? 0:(((3 & ins>>10)==3) ? ((((1 & ins>>1) ? 1:0)) ? ((f1) ? 1:0):0):0)))):0))))));
rlasave = 0;
rfile_wen = 1 & (*waitb & regwen);
rfile_nd = 65535 & alubus;
rfile_wa = 15 & regnum;
pualu_n_carry = 1 & pualu_addsub_q>>17;
pualu_addsub_msb_a = 1 & rbus>>15;
pualu_addsub_msb_bb = 1 & pualu_addsub_bb>>15;
pualu_n_overflow = 1 & (pualu_addsub_msb_a==pualu_addsub_msb_bb && pualu_n_carry ^ 1 & pualu_addsub_q>>16);
advance = 1 & f0a | 1 & f1;
*dbus16_out = (((rlasave) ? pc:((*byteop) ? (255 & rbus)<<8 | 255 & rbus:rbus))) & 65535;
*rwbar = 1 & ~write;
*opreq = 1 & argcycle | (1 & f0a | 1 & f1);
#include "pu17coreinc.c"
/* synch */
if (1) { sreset = 1 & *reset;
}
if (1) { ins_l = 65535 & (((f0a) ? *dbus16_in:ins_l));
}
if (1) { ahold = 65535 & (((sreset) ? 0:((*waitb) ? ((((f0a | f1) ? 1:0)) ? *dbus16_in:ahold):ahold)));
lastr = 65535 & (((sreset) ? 0:((*waitb) ? ((((1 & ~multiple) ? 1:0)) ? rbus:lastr):lastr)));
internal = 1 & (((sreset) ? 0:((*waitb) ? internal_req:internal)));
argcycle = 1 & (((sreset) ? 0:((*waitb) ? argreq:argcycle)));
f0c = 1 & (((sreset) ? 0:((*waitb) ? ((((1 & ~execute & 1 & ~f0a & 1 & ~f1) ? 1:0)) ? 1:last_cycle):f0c)));
f0b = 1 & (((sreset) ? 0:((*waitb) ? ((((1 & ~execute & 1 & ~f0a & 1 & ~f1) ? 1:0)) ? 1:last_cycle):f0b)));
f0a = 1 & (((sreset) ? 0:((*waitb) ? ((((1 & ~execute & 1 & ~f0a & 1 & ~f1) ? 1:0)) ? 1:last_cycle):f0a)));
execute = 1 & (((sreset) ? 0:((*waitb) ? exreq:execute)));
f1 = 1 & (((sreset) ? 0:((*waitb) ? f1req:f1)));
*byteop = 1 & (((sreset) ? *byteop:((*waitb) ? byteopreq:*byteop)));
}
if (1) { multiple_reg = 15 & (((((1 & ~old_multiple) ? 1:0)) ? ((1 & ins>>2) ? 0:((1 & ins>>3) ? 1:((1 & ins>>4) ? 2:((1 & ins>>5) ? 3:((1 & ins>>6) ? 4:((1 & ins>>7) ? 5:((1 & ins>>8) ? 6:((1 & ins>>9) ? 7:8)))))))):((0==multiple_reg) ? ((1 & ins>>3) ? 1:((1 & ins>>4) ? 2:((1 & ins>>5) ? 3:((1 & ins>>6) ? 4:((1 & ins>>7) ? 5:((1 & ins>>8) ? 6:((1 & ins>>9) ? 7:8))))))):((1==multiple_reg) ? ((1 & ins>>4) ? 2:((1 & ins>>5) ? 3:((1 & ins>>6) ? 4:((1 & ins>>7) ? 5:((1 & ins>>8) ? 6:((1 & ins>>9) ? 7:8)))))):((2==multiple_reg) ? ((1 & ins>>5) ? 3:((1 & ins>>6) ? 4:((1 & ins>>7) ? 5:((1 & ins>>8) ? 6:((1 & ins>>9) ? 7:8))))):((3==multiple_reg) ? ((1 & ins>>6) ? 4:((1 & ins>>7) ? 5:((1 & ins>>8) ? 6:((1 & ins>>9) ? 7:8)))):((4==multiple_reg) ? ((1 & ins>>7) ? 5:((1 & ins>>8) ? 6:((1 & ins>>9) ? 7:8))):((5==multiple_reg) ? ((1 & ins>>8) ? 6:((1 & ins>>9) ? 7:8)):((6==multiple_reg) ? ((1 & ins>>9) ? 7:8):((7==multiple_reg) ? 8:multiple_reg))))))))));
old_multiple = 1 & multiple;
}
if (1) { pualu_overflow = 1 & (((((update_flags & *waitb) ? 1:0)) ? 0:pualu_overflow));
pualu_negative = 1 & (((((update_flags & *waitb) ? 1:0)) ? 1 & alubus>>15:pualu_negative));
pualu_zero = 1 & (((((update_flags & *waitb) ? 1:0)) ? alubus==0:pualu_zero));
pualu_carry = 1 & (((((update_flags & *waitb) ? 1:0)) ? ((fc==9) ? 1 & rbus>>15:((fc==10) ? 1 & rbus:((fc==11) ? 1 & rbus:pualu_n_carry))):pualu_carry));
}
if (1) { rfile_r7 = 65535 & (((((rfile_wen && rfile_wa==7) ? 1:0)) ? rfile_nd:rfile_r7));
rfile_r6 = 65535 & (((((rfile_wen && rfile_wa==6) ? 1:0)) ? rfile_nd:rfile_r6));
rfile_r5 = 65535 & (((((rfile_wen && rfile_wa==5) ? 1:0)) ? rfile_nd:rfile_r5));
rfile_r4 = 65535 & (((((rfile_wen && rfile_wa==4) ? 1:0)) ? rfile_nd:rfile_r4));
rfile_r3 = 65535 & (((((rfile_wen && rfile_wa==3) ? 1:0)) ? rfile_nd:rfile_r3));
rfile_r2 = 65535 & (((((rfile_wen && rfile_wa==2) ? 1:0)) ? rfile_nd:rfile_r2));
rfile_r1 = 65535 & (((((rfile_wen && rfile_wa==1) ? 1:0)) ? rfile_nd:rfile_r1));
rfile_r0 = 65535 & (((((rfile_wen && rfile_wa==0) ? 1:0)) ? rfile_nd:rfile_r0));
}
if (1) { pc = 65535 & (((*reset) ? 0:((((*waitb & branch) ? 1:0)) ? 65535 & bdest:((((*waitb & advance) ? 1:0)) ? 65535 & next_pc:pc))));
}
(ttvtoc_ticks++);
/* post cont */
ins = 65535 & (((f0a) ? *dbus16_in:ins_l));
imed8 = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):0));
update_flags = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 1:0):0):0))))));
regwen = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1 & ~((15 & ins>>3)==5) && 1 & ~((15 & ins>>3)==13):0):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 1 & ~((15 & ins>>3)==5) && 1 & ~((15 & ins>>3)==13):0):(((3 & ins>>10)==1) ? (((1 & ins>>5)==0) ? ((execute) ? 1:0):0):(((3 & ins>>10)==2) ? ((f1) ? (((15 & ins>>2)==15) ? 1:0):0):(((3 & ins>>10)==3) ? ((((1 & ins>>1) ? 1:0)) ? 0:((f1) ? 1:0)):0)))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 1:0):0):(((3 & ins>>10)==1) ? ((f1) ? 1:0):0)):0)))))));
regnum = 7 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 7 & ins>>7:0):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 7 & ins_l>>7:((f0c) ? (((3 & ins>>10)==3) ? 7:3 & ins>>10):0)):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 7 & ins_l>>7:((f0c) ? (((3 & ins>>10)==3) ? 7:3 & ins>>10):0)):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 7 & ins_l>>7:((f0c) ? 7 & ins:0)):(((3 & ins>>10)==1) ? 7 & ins>>7:(((3 & ins>>10)==2) ? ((f1) ? (((15 & ins>>2)==15) ? 6:0):0):(((3 & ins>>10)==3) ? ((f1) ? multiple_reg:((f0c) ? 7:0)):0)))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 6:((f0c) ? 7 & ins>>7:0)):((f0c) ? 7 & ins>>7:0)):(((3 & ins>>10)==1) ? 7 & ins>>7:0)):0)))))));
fc = 15 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 15 & ins>>3:12):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 12:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 12:((12==(15 & ins>>12)) ? 12:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 15 & ins>>3:12):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? 12:((f0c) ? 0:12)):12):12)))))));
last_cycle = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((12==(15 & ins>>12)) ? 1:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 1:0):(((3 & ins>>10)==1) ? ((execute) ? 1:0):(((3 & ins>>10)==2) ? ((f1) ? 1:0):(((3 & ins>>10)==3) ? ((f1) ? multiple_reg==8:0):0)))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 1:0):((f0c) ? 1:0)):(((3 & ins>>10)==1) ? ((f1) ? 1:0):0)):0)))))));
multiple = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 0:(((3 & ins>>10)==2) ? 0:(((3 & ins>>10)==3) ? ((f1) ? 1:0):0)))):0))))));
branch_condition = 15 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 15 & ins>>2:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 15 & ins>>2:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 15 & ins>>2:((12==(15 & ins>>12)) ? 15 & ins>>8:15 & ins>>2)))));
argislast = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((execute) ? 1:0):0):0))))));
regind = 0;
idx7 = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):0))));
linkf = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 0:(((3 & ins>>10)==2) ? ((f1) ? (((15 & ins>>2)==15) ? 1:0):0):0))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 1:0):0):0):0)))))));
pualu_addsub_c = 1 & (((1==fc) ? 0:((3==fc) ? pualu_carry:((4==fc) ? pualu_carry:1))));
next_pc = pc + 2 & 65535;
*abus16 = (((f0a | f1) ? pc:((multiple) ? lastr + (multiple_reg<<1):((idx7) ? lastr + (((((((((1 & ins_l>>5)<<15 | (1 & ins_l>>5)<<14) | (1 & ins_l>>5)<<13) | (1 & ins_l>>5)<<12) | (1 & ins_l>>5)<<11) | (1 & ins_l>>5)<<10) | (1 & ins_l>>5)<<9) | (1 & ins_l>>5)<<8) | (127 & ins_l)<<1):((regind) ? lastr:ahold))))) & 65535;
argbus = 65535 & (((imed8) ? (31 & ins>>10)<<3 | 7 & ins:((argislast) ? lastr:((linkf) ? next_pc:((*byteop & (1 & ~(1 & *abus16))) ? 255 & *dbus16_in:((*byteop & (1 & *abus16)) ? 255 & *dbus16_in>>8:*dbus16_in))))));
pualu_addsub_bb = 65535 & (((1==fc) ? argbus:((3==fc) ? argbus:65535 & ~argbus)));
rbus = (((regnum==0) ? rfile_r0:((regnum==1) ? rfile_r1:((regnum==2) ? rfile_r2:((regnum==3) ? rfile_r3:((regnum==4) ? rfile_r4:((regnum==5) ? rfile_r5:((regnum==6) ? rfile_r6:rfile_r7)))))))) & 65535;
pualu_addsub_neta = 67108863 & (rbus<<1 | pualu_addsub_c);
pualu_addsub_netb = 67108863 & (pualu_addsub_bb<<1 | pualu_addsub_c);
pualu_addsub_q = pualu_addsub_neta + pualu_addsub_netb & 67108863;
pualu_addsub = (65535 & pualu_addsub_q>>1) & 65535;
alubus = 65535 & (((0==fc) ? 65535 & rbus:((1==fc) ? 65535 & pualu_addsub:((2==fc) ? 65535 & pualu_addsub:((3==fc) ? 65535 & pualu_addsub:((4==fc) ? 65535 & pualu_addsub:((5==fc) ? 65535 & pualu_addsub:((6==fc) ? 65535 & rbus | 65535 & argbus:((7==fc) ? 65535 & (rbus & argbus):((8==fc) ? 65535 & (rbus ^ argbus):((9==fc) ? 65535 & rbus<<1:((10==fc) ? 65535 & (32768 & rbus | 32767 & rbus>>1):((11==fc) ? 65535 & rbus>>1:((12==fc) ? 65535 & argbus:65535 & pualu_addsub))))))))))))));
bdest = 65535 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? pc + ((((((((1 & ins>>7)<<15 | (1 & ins>>7)<<14) | (1 & ins>>7)<<13) | (1 & ins>>7)<<12) | (1 & ins>>7)<<11) | (1 & ins>>7)<<10) | (1 & ins>>7)<<9) | 510 & ins<<1):((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 0:(((3 & ins>>10)==2) ? ((f1) ? *dbus16_in:0):0))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? lastr:0):((f0c) ? alubus:0)):0):0)))))));
branch_yes = 1 & (((0==branch_condition) ? pualu_zero:((1==branch_condition) ? 1 & ~pualu_zero:((2==branch_condition) ? pualu_negative ^ pualu_overflow:((3==branch_condition) ? 1 & ~(pualu_negative ^ pualu_overflow) | pualu_zero:((4==branch_condition) ? 1 & ~(pualu_negative ^ pualu_overflow) & 1 & ~pualu_zero:((5==branch_condition) ? pualu_negative ^ pualu_overflow | pualu_zero:((6==branch_condition) ? pualu_carry:((7==branch_condition) ? 1 & ~pualu_carry:((8==branch_condition) ? pualu_overflow:((9==branch_condition) ? 1 & ~pualu_overflow:((10==branch_condition) ? 1:((11==branch_condition) ? 1 & ~pualu_carry & 1 & ~pualu_zero:((12==branch_condition) ? pualu_carry | pualu_zero:((13==branch_condition) ? 1 & ~pualu_negative:((14==branch_condition) ? pualu_negative:1))))))))))))))));
branch = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? branch_yes:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 0:(((3 & ins>>10)==2) ? ((f1) ? (((15 & ins>>2)==15) ? 1:branch_yes):0):0))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((execute) ? 1:0):((f0c) ? 1:0)):0):0)))))));
exreq = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((f0c) ? 1:0):(((3 & ins>>10)==1) ? ((f1) ? 1:0):0)):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? ((((1 & ins) ? 1:0)) ? ((f0c) ? 1:0):0):0):0)))))));
internal_req = 0;
f1req = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? 0:((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? ((f0b) ? 1:0):(((3 & ins>>10)==2) ? ((f0c) ? 1:0):(((3 & ins>>10)==3) ? ((f1) ? 1 & ~(multiple_reg==8):((f0c) ? 1:0)):0)))):((15==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? ((f0c) ? 1:0):0)):0)))))));
byteopreq = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1 & ins>>13:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1 & ins>>13:0):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? 1 & ins_l>>6:0)):0))))));
argreq = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((f0c) ? 1:0):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? ((f1) ? 1:0):0)):0))))));
write = 1 & (((((((((((0==(15 & ins>>12) || 1==(15 & ins>>12)) || 2==(15 & ins>>12)) || 3==(15 & ins>>12)) || 4==(15 & ins>>12)) || 5==(15 & ins>>12)) || 6==(15 & ins>>12)) || 7==(15 & ins>>12)) ? 1:0)) ? 0:((((10==(15 & ins>>12) || 8==(15 & ins>>12)) ? 1:0)) ? 0:((((11==(15 & ins>>12) || 9==(15 & ins>>12)) ? 1:0)) ? ((execute) ? 1:0):((12==(15 & ins>>12)) ? 0:((13==(15 & ins>>12)) ? (((3 & ins>>10)==0) ? 0:(((3 & ins>>10)==1) ? (((1 & ins>>5)==0) ? 0:((execute) ? 1:0)):(((3 & ins>>10)==2) ? 0:(((3 & ins>>10)==3) ? ((((1 & ins>>1) ? 1:0)) ? ((f1) ? 1:0):0):0)))):0))))));
rlasave = 0;
rfile_wen = 1 & (*waitb & regwen);
rfile_nd = 65535 & alubus;
rfile_wa = 15 & regnum;
pualu_n_carry = 1 & pualu_addsub_q>>17;
pualu_addsub_msb_a = 1 & rbus>>15;
pualu_addsub_msb_bb = 1 & pualu_addsub_bb>>15;
pualu_n_overflow = 1 & (pualu_addsub_msb_a==pualu_addsub_msb_bb && pualu_n_carry ^ 1 & pualu_addsub_q>>16);
advance = 1 & f0a | 1 & f1;
*dbus16_out = (((rlasave) ? pc:((*byteop) ? (255 & rbus)<<8 | 255 & rbus:rbus))) & 65535;
*rwbar = 1 & ~write;
*opreq = 1 & argcycle | (1 & f0a | 1 & f1);
}
/* End of tt generated C routine */