package Ġcom . so y wiz . k ps pe mu . cpu Ċ Ċ import Ġcom . so y wiz . kor io . lang .* Ċ Ċ object ĠInstructions Ġ{ ĊĠĠĠ Ġval Ġadd Ġ= ĠID (" add ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 0 0 0 0 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġadd u Ġ= ĠID (" add u ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 0 0 0 1 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġadd i Ġ= ĠID (" addi ", ĠVM (" 0 0 1 0 0 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% s , Ġ% i ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġadd iu Ġ= ĠID (" add iu ", ĠVM (" 0 0 1 0 0 1 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% s , Ġ% i ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsub Ġ= ĠID (" sub ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 0 0 1 0 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsub u Ġ= ĠID (" sub u ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 0 0 1 1 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġand Ġ= ĠID (" and ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 0 1 0 0 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġand i Ġ= ĠID (" andi ", ĠVM (" 0 0 1 1 0 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% s , Ġ% I ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġnor Ġ= ĠID (" nor ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 0 1 1 1 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġor Ġ= ĠID (" or ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 0 1 0 1 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġori Ġ= ĠID (" ori ", ĠVM (" 0 0 1 1 0 1 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% s , Ġ% I ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġxor Ġ= ĠID (" xor ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 0 1 1 0 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġx ori Ġ= ĠID (" x ori ", ĠVM (" 0 0 1 1 1 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% s , Ġ% I ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs ll Ġ= ĠID (" s ll ", ĠVM (" 0 0 0 0 0 0 : 0 0 0 0 0 : rt : rd : sa : 0 0 0 0 0 0 "), Ġ"% d , Ġ% t , Ġ% a ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs ll v Ġ= ĠID (" s ll v ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 0 0 0 1 0 0 "), Ġ"% d , Ġ% t , Ġ% s ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs ra Ġ= ĠID (" s ra ", ĠVM (" 0 0 0 0 0 0 : 0 0 0 0 0 : rt : rd : sa : 0 0 0 0 1 1 "), Ġ"% d , Ġ% t , Ġ% a ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsr av Ġ= ĠID (" sr av ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 0 0 0 1 1 1 "), Ġ"% d , Ġ% t , Ġ% s ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs rl Ġ= ĠID (" srl ", ĠVM (" 0 0 0 0 0 0 : 0 0 0 0 0 : rt : rd : sa : 0 0 0 0 1 0 "), Ġ"% d , Ġ% t , Ġ% a ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs rl v Ġ= ĠID (" srl v ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 0 0 0 1 1 0 "), Ġ"% d , Ġ% t , Ġ% s ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġro tr Ġ= ĠID (" ro tr ", ĠVM (" 0 0 0 0 0 0 : 0 0 0 0 1 : rt : rd : sa : 0 0 0 0 1 0 "), Ġ"% d , Ġ% t , Ġ% a ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġro tr v Ġ= ĠID (" ro tr v ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 1 : 0 0 0 1 1 0 "), Ġ"% d , Ġ% t , Ġ% s ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs lt Ġ= ĠID (" slt ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 1 0 1 0 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs lt i Ġ= ĠID (" sl ti ", ĠVM (" 0 0 1 0 1 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% s , Ġ% i ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs lt u Ġ= ĠID (" sl tu ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 1 0 1 1 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġs lt iu Ġ= ĠID (" sl ti u ", ĠVM (" 0 0 1 0 1 1 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% s , Ġ% i ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġl ui Ġ= ĠID (" l ui ", ĠVM (" 0 0 1 1 1 1 : 0 0 0 0 0 : rt : imm 1 6 "), Ġ"% t , Ġ% I ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġse b Ġ= ĠID (" se b ", ĠVM (" 0 1 1 1 1 1 : 0 0 0 0 0 : rt : rd : 1 0 0 0 0 : 1 0 0 0 0 0 "), Ġ"% d , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġse h Ġ= ĠID (" se h ", ĠVM (" 0 1 1 1 1 1 : 0 0 0 0 0 : rt : rd : 1 1 0 0 0 : 1 0 0 0 0 0 "), Ġ"% d , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġbit rev Ġ= ĠID (" bit rev ", ĠVM (" 0 1 1 1 1 1 : 0 0 0 0 0 : rt : rd : 1 0 1 0 0 : 1 0 0 0 0 0 "), Ġ"% d , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġmax Ġ= ĠID (" max ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 1 1 0 0 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġmin Ġ= ĠID (" min ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 1 0 1 1 0 1 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġdiv Ġ= ĠID (" div ", ĠVM (" 0 0 0 0 0 0 : rs : rt : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 1 0 1 0 "), Ġ"% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġdiv u Ġ= ĠID (" div u ", ĠVM (" 0 0 0 0 0 0 : rs : rt : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 1 0 1 1 "), Ġ"% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġmult Ġ= ĠID (" mult ", ĠVM (" 0 0 0 0 0 0 : rs : rt : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 1 0 0 0 "), Ġ"% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġmult u Ġ= ĠID (" mult u ", ĠVM (" 0 0 0 0 0 0 : rs : rt : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 1 0 0 1 "), Ġ"% s , Ġ% t ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġm add Ġ= ĠID (" m add ", ĠVM (" 0 0 0 0 0 0 : rs : rt : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 1 1 0 0 "), Ġ"% s , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġm add u Ġ= ĠID (" m add u ", ĠVM (" 0 0 0 0 0 0 : rs : rt : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 1 1 0 1 "), Ġ"% s , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġm sub Ġ= ĠID (" ms ub ", ĠVM (" 0 0 0 0 0 0 : rs : rt : 0 0 0 0 0 : 0 0 0 0 0 : 1 0 1 1 1 0 "), Ġ"% s , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġm sub u Ġ= ĠID (" ms ub u ", ĠVM (" 0 0 0 0 0 0 : rs : rt : 0 0 0 0 0 : 0 0 0 0 0 : 1 0 1 1 1 1 "), Ġ"% s , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġmf hi Ġ= ĠID (" mf hi ", ĠVM (" 0 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : rd : 0 0 0 0 0 : 0 1 0 0 0 0 "), Ġ"% d ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġm flo Ġ= ĠID (" mf lo ", ĠVM (" 0 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : rd : 0 0 0 0 0 : 0 1 0 0 1 0 "), Ġ"% d ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġm thi Ġ= ĠID (" mth i ", ĠVM (" 0 0 0 0 0 0 : rs : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 0 0 0 1 "), Ġ"% s ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġmt lo Ġ= ĠID (" mt lo ", ĠVM (" 0 0 0 0 0 0 : rs : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 0 0 1 1 "), Ġ"% s ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġmov z Ġ= ĠID (" mov z ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 0 0 1 0 1 0 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġmov n Ġ= ĠID (" mov n ", ĠVM (" 0 0 0 0 0 0 : rs : rt : rd : 0 0 0 0 0 : 0 0 1 0 1 1 "), Ġ"% d , Ġ% s , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġext Ġ= ĠID (" ext ", ĠVM (" 0 1 1 1 1 1 : rs : rt : ms b : lsb : 0 0 0 0 0 0 "), Ġ"% t , Ġ% s , Ġ% a , Ġ% ne ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġins Ġ= ĠID (" ins ", ĠVM (" 0 1 1 1 1 1 : rs : rt : ms b : lsb : 0 0 0 1 0 0 "), Ġ"% t , Ġ% s , Ġ% a , Ġ% ni ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġcl z Ġ= ĠID (" cl z ", ĠVM (" 0 0 0 0 0 0 : rs : 0 0 0 0 0 : rd : 0 0 0 0 0 : 0 1 0 1 1 0 "), Ġ"% d , Ġ% s ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġclo Ġ= ĠID (" clo ", ĠVM (" 0 0 0 0 0 0 : rs : 0 0 0 0 0 : rd : 0 0 0 0 0 : 0 1 0 1 1 1 "), Ġ"% d , Ġ% s ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġw sb h Ġ= ĠID (" ws bh ", ĠVM (" 0 1 1 1 1 1 : 0 0 0 0 0 : rt : rd : 0 0 0 1 0 : 1 0 0 0 0 0 "), Ġ"% d , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġw sb w Ġ= ĠID (" ws bw ", ĠVM (" 0 1 1 1 1 1 : 0 0 0 0 0 : rt : rd : 0 0 0 1 1 : 1 0 0 0 0 0 "), Ġ"% d , Ġ% t ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġbe q Ġ= ĠID (" be q ", ĠVM (" 0 0 0 1 0 0 : rs : rt : imm 1 6 "), Ġ"% s , Ġ% t , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġbe ql Ġ= ĠID (" be ql ", ĠVM (" 0 1 0 1 0 0 : rs : rt : imm 1 6 "), Ġ"% s , Ġ% t , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġb ge z Ġ= ĠID (" b ge z ", ĠVM (" 0 0 0 0 0 1 : rs : 0 0 0 0 1 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġb ge zl Ġ= ĠID (" b ge zl ", ĠVM (" 0 0 0 0 0 1 : rs : 0 0 0 1 1 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġb ge z al Ġ= ĠID (" b ge z al ", ĠVM (" 0 0 0 0 0 1 : rs : 1 0 0 0 1 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ J AL ) ĊĠĠĠ Ġval Ġb ge z all Ġ= ĊĠĠĠĠĠĠĠ ĠID (" b ge z all ", ĠVM (" 0 0 0 0 0 1 : rs : 1 0 0 1 1 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ LIKELY Ġor ĠIN STR _ TYPE _ J AL ) ĊĠĠĠ Ġval Ġb lt z Ġ= ĠID (" bl tz ", ĠVM (" 0 0 0 0 0 1 : rs : 0 0 0 0 0 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġb lt zl Ġ= ĠID (" bl tz l ", ĠVM (" 0 0 0 0 0 1 : rs : 0 0 0 1 0 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġb lt z al Ġ= ĠID (" bl tz al ", ĠVM (" 0 0 0 0 0 1 : rs : 1 0 0 0 0 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ J AL ) ĊĠĠĠ Ġval Ġb lt z all Ġ= ĊĠĠĠĠĠĠĠ ĠID (" bl tz all ", ĠVM (" 0 0 0 0 0 1 : rs : 1 0 0 1 0 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ LIKELY Ġor ĠIN STR _ TYPE _ J AL ) ĊĠĠĠ Ġval Ġble z Ġ= ĠID (" ble z ", ĠVM (" 0 0 0 1 1 0 : rs : 0 0 0 0 0 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġble zl Ġ= ĠID (" ble zl ", ĠVM (" 0 1 0 1 1 0 : rs : 0 0 0 0 0 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġb gt z Ġ= ĠID (" b gt z ", ĠVM (" 0 0 0 1 1 1 : rs : 0 0 0 0 0 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġb gt zl Ġ= ĠID (" b gt zl ", ĠVM (" 0 1 0 1 1 1 : rs : 0 0 0 0 0 : imm 1 6 "), Ġ"% s , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġb ne Ġ= ĠID (" b ne ", ĠVM (" 0 0 0 1 0 1 : rs : rt : imm 1 6 "), Ġ"% s , Ġ% t , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġb nel Ġ= ĠID (" bn el ", ĠVM (" 0 1 0 1 0 1 : rs : rt : imm 1 6 "), Ġ"% s , Ġ% t , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġj Ġ= ĠID (" j ", ĠVM (" 0 0 0 0 1 0 : imm 2 6 "), Ġ"% j ", ĠADD R _ TYPE _ 2 6 , ĠIN STR _ TYPE _ JUMP ) ĊĠĠĠ Ġval Ġj r Ġ= ĠID (" jr ", ĠVM (" 0 0 0 0 0 0 : rs : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 1 0 0 0 "), Ġ"% J ", ĠADD R _ TYPE _ REG , ĠIN STR _ TYPE _ JUMP ) ĊĠĠĠ Ġval Ġj al r Ġ= ĠID (" jal r ", ĠVM (" 0 0 0 0 0 0 : rs : 0 0 0 0 0 : rd : 0 0 0 0 0 : 0 0 1 0 0 1 "), Ġ"% J , Ġ% d ", ĠADD R _ TYPE _ REG , ĠIN STR _ TYPE _ J AL ) ĊĠĠĠ Ġval Ġj al Ġ= ĠID (" jal ", ĠVM (" 0 0 0 0 1 1 : imm 2 6 "), Ġ"% j ", ĠADD R _ TYPE _ 2 6 , ĠIN STR _ TYPE _ J AL ) ĊĠĠĠ Ġval Ġbc 1 f Ġ= ĠID (" bc 1 f ", ĠVM (" 0 1 0 0 0 1 : 0 1 0 0 0 : 0 0 0 0 0 : imm 1 6 "), Ġ"% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġbc 1 t Ġ= ĠID (" bc 1 t ", ĠVM (" 0 1 0 0 0 1 : 0 1 0 0 0 : 0 0 0 0 1 : imm 1 6 "), Ġ"% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġbc 1 fl Ġ= ĠID (" bc 1 fl ", ĠVM (" 0 1 0 0 0 1 : 0 1 0 0 0 : 0 0 0 1 0 : imm 1 6 "), Ġ"% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġbc 1 tl Ġ= ĠID (" bc 1 tl ", ĠVM (" 0 1 0 0 0 1 : 0 1 0 0 0 : 0 0 0 1 1 : imm 1 6 "), Ġ"% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġlb Ġ= ĠID (" lb ", ĠVM (" 1 0 0 0 0 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġlh Ġ= ĠID (" lh ", ĠVM (" 1 0 0 0 0 1 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġlw Ġ= ĠID (" lw ", ĠVM (" 1 0 0 0 1 1 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġl wl Ġ= ĠID (" l wl ", ĠVM (" 1 0 0 0 1 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġl wr Ġ= ĠID (" l wr ", ĠVM (" 1 0 0 1 1 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġl bu Ġ= ĠID (" l bu ", ĠVM (" 1 0 0 1 0 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġl hu Ġ= ĠID (" l hu ", ĠVM (" 1 0 0 1 0 1 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsb Ġ= ĠID (" sb ", ĠVM (" 1 0 1 0 0 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsh Ġ= ĠID (" sh ", ĠVM (" 1 0 1 0 0 1 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsw Ġ= ĠID (" sw ", ĠVM (" 1 0 1 0 1 1 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsw l Ġ= ĠID (" sw l ", ĠVM (" 1 0 1 0 1 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsw r Ġ= ĠID (" sw r ", ĠVM (" 1 0 1 1 1 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġll Ġ= ĠID (" ll ", ĠVM (" 1 1 0 0 0 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% O ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsc Ġ= ĠID (" sc ", ĠVM (" 1 1 1 0 0 0 : rs : rt : imm 1 6 "), Ġ"% t , Ġ% O ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġl wc 1 Ġ= ĠID (" l wc 1 ", ĠVM (" 1 1 0 0 0 1 : rs : ft : imm 1 6 "), Ġ"% T , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsw c 1 Ġ= ĠID (" sw c 1 ", ĠVM (" 1 1 1 0 0 1 : rs : ft : imm 1 6 "), Ġ"% T , Ġ% i (% s )", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġadd _ s Ġ= ĠID (" add . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : fd : 0 0 0 0 0 0 "), Ġ"% D , Ġ% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsub _ s Ġ= ĠID (" sub . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : fd : 0 0 0 0 0 1 "), Ġ"% D , Ġ% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġmul _ s Ġ= ĠID (" mul . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : fd : 0 0 0 0 1 0 "), Ġ"% D , Ġ% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġdiv _ s Ġ= ĠID (" div . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : fd : 0 0 0 0 1 1 "), Ġ"% D , Ġ% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsqrt _ s Ġ= ĠID (" sqrt . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 0 0 0 1 0 0 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġabs _ s Ġ= ĠID (" abs . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 0 0 0 1 0 1 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġmov _ s Ġ= ĠID (" mov . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 0 0 0 1 1 0 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġneg _ s Ġ= ĠID (" neg . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 0 0 0 1 1 1 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġround _ w _ s Ġ= ĠID (" round . w . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 0 0 1 1 0 0 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġtrunc _ w _ s Ġ= ĠID (" trunc . w . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 0 0 1 1 0 1 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġceil _ w _ s Ġ= ĠID (" ceil . w . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 0 0 1 1 1 0 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġfloor _ w _ s Ġ= ĠID (" floor . w . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 0 0 1 1 1 1 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġcv t _ s _ w Ġ= ĠID (" cvt . s . w ", ĠVM (" 0 1 0 0 0 1 : 1 0 1 0 0 : 0 0 0 0 0 : fs : fd : 1 0 0 0 0 0 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġcv t _ w _ s Ġ= ĠID (" cvt . w . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : 0 0 0 0 0 : fs : fd : 1 0 0 1 0 0 "), Ġ"% D , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġm fc 1 Ġ= ĠID (" mfc 1 ", ĠVM (" 0 1 0 0 0 1 : 0 0 0 0 0 : rt : c 1 dr : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"% t , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġm tc 1 Ġ= ĠID (" mt c 1 ", ĠVM (" 0 1 0 0 0 1 : 0 0 1 0 0 : rt : c 1 dr : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"% t , Ġ% S ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc fc 1 Ġ= ĠID (" cfc 1 ", ĠVM (" 0 1 0 0 0 1 : 0 0 0 1 0 : rt : c 1 cr : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"% t , Ġ% p ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc tc 1 Ġ= ĠID (" ct c 1 ", ĠVM (" 0 1 0 0 0 1 : 0 0 1 1 0 : rt : c 1 cr : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"% t , Ġ% p ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ f _ s Ġ= ĠID (" c . f . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 0 0 0 0 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ un _ s Ġ= ĠID (" c . un . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 0 0 0 1 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ eq _ s Ġ= ĠID (" c . eq . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 0 0 1 0 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ ue q _ s Ġ= ĠID (" c . ue q . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 0 0 1 1 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ olt _ s Ġ= ĠID (" c . olt . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 0 1 0 0 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ ult _ s Ġ= ĠID (" c . ult . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 0 1 0 1 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ ole _ s Ġ= ĠID (" c . ole . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 0 1 1 0 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ ule _ s Ġ= ĠID (" c . ule . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 0 1 1 1 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ sf _ s Ġ= ĠID (" c . sf . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 1 0 0 0 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ ng le _ s Ġ= ĠID (" c . ng le . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 1 0 0 1 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ seq _ s Ġ= ĠID (" c . seq . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 1 0 1 0 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ ng l _ s Ġ= ĠID (" c . ng l . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 1 0 1 1 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ lt _ s Ġ= ĠID (" c . lt . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 1 1 0 0 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ n ge _ s Ġ= ĠID (" c . n ge . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 1 1 0 1 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ le _ s Ġ= ĠID (" c . le . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 1 1 1 0 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġc _ ng t _ s Ġ= ĠID (" c . ng t . s ", ĠVM (" 0 1 0 0 0 1 : 1 0 0 0 0 : ft : fs : 0 0 0 0 0 : 1 1 : 1 1 1 1 "), Ġ"% S , Ġ% T ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsyscall Ġ= ĠID (" syscall ", ĠVM (" 0 0 0 0 0 0 : imm 2 0 : 0 0 1 1 0 0 "), Ġ"% C ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ SYSCALL ) ĊĠĠĠ Ġval Ġcache Ġ= ĠID (" cache ", ĠVM (" 1 0 1 1 1 1 : rs : ----- : imm 1 6 "), Ġ"% k , Ġ% o ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsync Ġ= ĠID (" sync ", ĠVM (" 0 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 1 1 1 1 "), Ġ"", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġ_ break Ġ= ĠID (" break ", ĠVM (" 0 0 0 0 0 0 : imm 2 0 : 0 0 1 1 0 1 "), Ġ"% c ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ BREAK ) ĊĠĠĠ Ġval Ġd break Ġ= ĠID ( ĊĠĠĠĠĠĠĠ Ġ" db reak ", ĊĠĠĠĠĠĠĠ ĠVM (" 0 1 1 1 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 1 1 1 1 1 1 "), ĊĠĠĠĠĠĠĠ Ġ"", ĊĠĠĠĠĠĠĠ ĠADD R _ TYPE _ NONE , ĊĠĠĠĠĠĠĠ ĠIN STR _ TYPE _ P SP Ġor ĠIN STR _ TYPE _ BREAK ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġhalt Ġ= ĠID (" halt ", ĠVM (" 0 1 1 1 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġd ret Ġ= ĠID (" d ret ", ĠVM (" 0 1 1 1 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 1 1 1 1 1 0 "), Ġ"", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġer et Ġ= ĠID (" er et ", ĠVM (" 0 1 0 0 0 0 : 1 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 0 1 1 0 0 0 "), Ġ"", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġmf ic Ġ= ĠID (" mf ic ", ĠVM (" 0 1 1 1 0 0 : rt : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 1 0 0 1 0 0 "), Ġ"% t , Ġ% p ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġmt ic Ġ= ĠID (" mt ic ", ĠVM (" 0 1 1 1 0 0 : rt : 0 0 0 0 0 : 0 0 0 0 0 : 0 0 0 0 0 : 1 0 0 1 1 0 "), Ġ"% t , Ġ% p ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġm fd r Ġ= ĠID (" m fd r ", ĠVM (" 0 1 1 1 0 0 : 0 0 0 0 0 : ---------- : 0 0 0 0 0 : 1 1 1 1 0 1 "), Ġ"% t , Ġ% r ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġm td r Ġ= ĠID (" m td r ", ĠVM (" 0 1 1 1 0 0 : 0 0 1 0 0 : ---------- : 0 0 0 0 0 : 1 1 1 1 0 1 "), Ġ"% t , Ġ% r ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġc fc 0 Ġ= ĠID (" cfc 0 ", ĠVM (" 0 1 0 0 0 0 : 0 0 0 1 0 : ---------- : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"% t , Ġ% p ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġc tc 0 Ġ= ĠID (" ct c 0 ", ĠVM (" 0 1 0 0 0 0 : 0 0 1 1 0 : ---------- : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"% t , Ġ% p ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġm fc 0 Ġ= ĠID (" mfc 0 ", ĠVM (" 0 1 0 0 0 0 : 0 0 0 0 0 : ---------- : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"% t , Ġ% 0 ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġm tc 0 Ġ= ĠID (" mt c 0 ", ĠVM (" 0 1 0 0 0 0 : 0 0 1 0 0 : ---------- : 0 0 0 0 0 : 0 0 0 0 0 0 "), Ġ"% t , Ġ% 0 ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġm fv Ġ= ĠID (" mf v ", ĠVM (" 0 1 0 0 1 0 : 0 0 : 0 1 1 : rt : 0 : 0 0 0 0 0 0 0 : 0 : vd "), Ġ"% t , Ġ% zs ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġmf vc Ġ= ĠID (" mf vc ", ĠVM (" 0 1 0 0 1 0 : 0 0 : 0 1 1 : rt : 0 : 0 0 0 0 0 0 0 : 1 : vd "), Ġ"% t , Ġ% 2 d ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġm tv Ġ= ĠID (" mt v ", ĠVM (" 0 1 0 0 1 0 : 0 0 : 1 1 1 : rt : 0 : 0 0 0 0 0 0 0 : 0 : vd "), Ġ"% t , Ġ% zs ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġmt vc Ġ= ĠID (" mt vc ", ĠVM (" 0 1 0 0 1 0 : 0 0 : 1 1 1 : rt : 0 : 0 0 0 0 0 0 0 : 1 : vd "), Ġ"% t , Ġ% 2 d ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġlv _ s Ġ= ĠID (" lv . s ", ĠVM (" 1 1 0 0 1 0 : rs : vt 5 : imm 1 4 : vt 2 "), Ġ"% Xs , Ġ% Y ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġlv _ q Ġ= ĠID (" lv . q ", ĠVM (" 1 1 0 1 1 0 : rs : vt 5 : imm 1 4 : 0 : vt 1 "), Ġ"% X q , Ġ% Y ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġlvl _ q Ġ= ĠID (" lvl . q ", ĠVM (" 1 1 0 1 0 1 : rs : vt 5 : imm 1 4 : 0 : vt 1 "), Ġ"% X q , Ġ% Y ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġl vr _ q Ġ= ĠID (" lv r . q ", ĠVM (" 1 1 0 1 0 1 : rs : vt 5 : imm 1 4 : 1 : vt 1 "), Ġ"% X q , Ġ% Y ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġsv _ q Ġ= ĠID (" sv . q ", ĠVM (" 1 1 1 1 1 0 : rs : vt 5 : imm 1 4 : 0 : vt 1 "), Ġ"% X q , Ġ% Y ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv dot Ġ= ĠID (" v dot ", ĠVM (" 0 1 1 0 0 1 : 0 0 1 : vt : two : vs : one : vd "), Ġ"% zs , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv scl Ġ= ĠID (" v scl ", ĠVM (" 0 1 1 0 0 1 : 0 1 0 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xs ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs ge Ġ= ĠID (" vs ge ", ĠVM (" 0 1 1 0 1 1 : 1 1 0 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv slt Ġ= ĠID (" v slt ", ĠVM (" 0 1 1 0 1 1 : 1 1 1 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv rot Ġ= ĠID (" v rot ", ĠVM (" 1 1 1 1 0 0 : 1 1 1 : 0 1 : imm 5 : two : vs : one : vd "), Ġ"% zp , Ġ% ys , Ġ% vr ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv zero Ġ= ĠID (" v zero ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 0 : 0 1 1 0 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv one Ġ= ĠID (" v one ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 0 : 0 1 1 1 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv mov Ġ= ĠID (" v mov ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 0 : 0 0 0 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv abs Ġ= ĠID (" v abs ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 0 : 0 0 0 1 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv neg Ġ= ĠID (" v neg ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 0 : 0 0 1 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv oc p Ġ= ĠID (" voc p ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 : 0 1 0 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv sg n Ġ= ĠID (" v sg n ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 : 1 0 1 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv rcp Ġ= ĠID (" v rcp ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 0 0 0 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv rs q Ġ= ĠID (" v rs q ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 0 0 0 1 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv sin Ġ= ĠID (" vs in ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 0 0 1 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv cos Ġ= ĠID (" v cos ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 0 0 1 1 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv exp 2 Ġ= ĠID (" v exp 2 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 0 1 0 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv log 2 Ġ= ĠID (" v log 2 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 0 1 0 1 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv sqrt Ġ= ĠID (" vs qrt ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 0 1 1 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv asin Ġ= ĠID (" vas in ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 0 1 1 1 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvn rcp Ġ= ĠID (" vn rcp ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 1 0 0 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv ns in Ġ= ĠID (" v ns in ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 1 0 1 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv re xp 2 Ġ= ĠID (" v re xp 2 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 1 : 1 1 0 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs at 0 Ġ= ĠID (" vs at 0 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 0 : 0 1 0 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs at 1 Ġ= ĠID (" vs at 1 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 0 : 0 1 0 1 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvc st Ġ= ĠID (" vc st ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 1 : imm 5 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zp , Ġ% vk ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv mm ul Ġ= ĠID (" v mm ul ", ĠVM (" 1 1 1 1 0 0 : 0 0 0 : vt : two : vs : one : vd "), Ġ"% zm , Ġ% ty m , Ġ% xm ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv h dp Ġ= ĠID (" vh dp ", ĠVM (" 0 1 1 0 0 1 : 1 0 0 : vt : two : vs : one : vd "), Ġ"% zs , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv crs _ t Ġ= ĠID (" v crs . t ", ĠVM (" 0 1 1 0 0 1 : 1 0 1 : vt : 1 : vs : 0 : vd "), Ġ"% zt , Ġ% yt , Ġ% xt ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv cr sp _ t Ġ= ĠID (" v cr sp . t ", ĠVM (" 1 1 1 1 0 0 : 1 0 1 : vt : 1 : vs : 0 : vd "), Ġ"% zt , Ġ% yt , Ġ% xt ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvi 2 c Ġ= ĠID (" vi 2 c ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 1 : 1 0 1 : two : vs : one : vd "), Ġ"% zs , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvi 2 uc Ġ= ĠID (" vi 2 uc ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 1 : 1 0 0 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv tf m 2 Ġ= ĠID (" v tf m 2 ", ĠVM (" 1 1 1 1 0 0 : 0 0 1 : vt : 0 : vs : 1 : vd "), Ġ"% zp , Ġ% ym , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv tf m 3 Ġ= ĠID (" v tf m 3 ", ĠVM (" 1 1 1 1 0 0 : 0 1 0 : vt : 1 : vs : 0 : vd "), Ġ"% zt , Ġ% yn , Ġ% xt ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv tf m 4 Ġ= ĠID (" v tf m 4 ", ĠVM (" 1 1 1 1 0 0 : 0 1 1 : vt : 1 : vs : 1 : vd "), Ġ"% zq , Ġ% yo , Ġ% xq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv ht fm 2 Ġ= ĠID (" v ht fm 2 ", ĠVM (" 1 1 1 1 0 0 : 0 0 1 : vt : 0 : vs : 0 : vd "), Ġ"% zp , Ġ% ym , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv ht fm 3 Ġ= ĠID (" v ht fm 3 ", ĠVM (" 1 1 1 1 0 0 : 0 1 0 : vt : 0 : vs : 1 : vd "), Ġ"% zt , Ġ% yn , Ġ% xt ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv ht fm 4 Ġ= ĠID (" v ht fm 4 ", ĠVM (" 1 1 1 1 0 0 : 0 1 1 : vt : 1 : vs : 0 : vd "), Ġ"% zq , Ġ% yo , Ġ% xq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs rt 3 Ġ= ĠID (" vs rt 3 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 1 0 0 0 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv fad Ġ= ĠID (" vf ad ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 0 1 1 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv min Ġ= ĠID (" v min ", ĠVM (" 0 1 1 0 1 1 : 0 1 0 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvmax Ġ= ĠID (" v max ", ĠVM (" 0 1 1 0 1 1 : 0 1 1 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv add Ġ= ĠID (" v add ", ĠVM (" 0 1 1 0 0 0 : 0 0 0 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv sub Ġ= ĠID (" v sub ", ĠVM (" 0 1 1 0 0 0 : 0 0 1 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv div Ġ= ĠID (" v div ", ĠVM (" 0 1 1 0 0 0 : 1 1 1 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvm ul Ġ= ĠID (" vm ul ", ĠVM (" 0 1 1 0 0 1 : 0 0 0 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvid t Ġ= ĠID (" vid t ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 0 : 0 : 0 0 1 1 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv mid t Ġ= ĠID (" vm id t ", ĠVM (" 1 1 1 1 0 0 : 1 1 1 : 0 0 : 0 0 0 1 1 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zm ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvi im Ġ= ĠID (" vi im ", ĠVM (" 1 1 0 1 1 1 : 1 1 : 0 : vd : imm 1 6 "), Ġ"% xs , Ġ% vi ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvm mov Ġ= ĠID (" vm mov ", ĠVM (" 1 1 1 1 0 0 : 1 1 1 : 0 0 : 0 0 0 0 0 : two : vs : one : vd "), Ġ"% zm , Ġ% ym ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvm zero Ġ= ĠID (" vm zero ", ĠVM (" 1 1 1 1 0 0 : 1 1 1 : 0 0 : 0 0 1 1 0 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zm ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvm one Ġ= ĠID (" vm one ", ĠVM (" 1 1 1 1 0 0 : 1 1 1 : 0 0 : 0 0 1 1 1 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv nop Ġ= ĠID (" v nop ", ĠVM (" 1 1 1 1 1 1 : 1 1 1 1 1 1 1 1 1 1 : 0 0 0 0 0 : 0 0 0 0 0 0 0 0 0 0 0 "), Ġ"", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv sync Ġ= ĠID (" vs ync ", ĠVM (" 1 1 1 1 1 1 : 1 1 1 1 1 1 1 1 1 1 : 0 0 0 0 0 : 0 1 1 0 0 1 0 0 0 0 0 "), Ġ"", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv flush Ġ= ĠID (" v flush ", ĠVM (" 1 1 1 1 1 1 : 1 1 1 1 1 1 1 1 1 1 : 0 0 0 0 0 : 1 0 0 0 0 0 0 1 1 0 1 "), Ġ"", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv pf xd Ġ= ĠID ( ĊĠĠĠĠĠĠĠ Ġ" v pf xd ", ĊĠĠĠĠĠĠĠ ĠVM (" 1 1 0 1 1 1 : 1 0 : ------------ : ms kw : ms kz : ms ky : ms kx : sat w : sat z : sat y : sat x "), ĊĠĠĠĠĠĠĠ Ġ"[ % vp 4 , Ġ% vp 5 , Ġ% vp 6 , Ġ% vp 7 ]", ĊĠĠĠĠĠĠĠ ĠADD R _ TYPE _ NONE , ĊĠĠĠĠĠĠĠ ĠIN STR _ TYPE _ P SP ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġv pf xs Ġ= ĠID ( ĊĠĠĠĠĠĠĠ Ġ" v pf xs ", ĊĠĠĠĠĠĠĠ ĠVM (" 1 1 0 1 1 1 : 0 0 : ---- : neg w : ne gz : ne gy : neg x : c stw : cst z : c sty : cst x : ab sw : abs z : abs y : abs x : sw zw : sw zz : sw zy : sw zx "), ĊĠĠĠĠĠĠĠ Ġ"[ % vp 0 , Ġ% vp 1 , Ġ% vp 2 , Ġ% vp 3 ]", ĊĠĠĠĠĠĠĠ ĠADD R _ TYPE _ NONE , ĊĠĠĠĠĠĠĠ ĠIN STR _ TYPE _ P SP ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġv pf xt Ġ= ĠID ( ĊĠĠĠĠĠĠĠ Ġ" v pf xt ", ĊĠĠĠĠĠĠĠ ĠVM (" 1 1 0 1 1 1 : 0 1 : ---- : neg w : ne gz : ne gy : neg x : c stw : cst z : c sty : cst x : ab sw : abs z : abs y : abs x : sw zw : sw zz : sw zy : sw zx "), ĊĠĠĠĠĠĠĠ Ġ"[ % vp 0 , Ġ% vp 1 , Ġ% vp 2 , Ġ% vp 3 ]", ĊĠĠĠĠĠĠĠ ĠADD R _ TYPE _ NONE , ĊĠĠĠĠĠĠĠ ĠIN STR _ TYPE _ P SP ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġv det Ġ= ĠID (" v det ", ĠVM (" 0 1 1 0 0 1 : 1 1 0 : vt : two : vs : one : vd "), Ġ"% zs , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvr nd s Ġ= ĠID (" vr nd s ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 0 0 : 0 0 0 : two : vs : one : 0 0 0 0 0 0 0 "), Ġ"% ys ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv rn di Ġ= ĠID (" vr n di ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 0 0 : 0 0 1 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvr nd f 1 Ġ= ĠID (" vr nd f 1 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 0 0 : 0 1 0 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvr nd f 2 Ġ= ĠID (" vr nd f 2 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 0 0 : 0 1 1 : two : 0 0 0 0 0 0 0 : one : vd "), Ġ"% zp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv cmp Ġ= ĠID (" vc mp ", ĠVM (" 0 1 1 0 1 1 : 0 0 0 : vt : two : vs : one : 0 0 0 : imm 4 "), Ġ"% Zn , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvc mov f Ġ= ĊĠĠĠĠĠĠĠ ĠID (" vc mov f ", ĠVM (" 1 1 0 1 0 0 : 1 0 : 1 0 1 : 0 1 : imm 3 : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% v 3 ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvc mov t Ġ= ĊĠĠĠĠĠĠĠ ĠID (" vc mov t ", ĠVM (" 1 1 0 1 0 0 : 1 0 : 1 0 1 : 0 0 : imm 3 : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% v 3 ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv avg Ġ= ĠID (" v avg ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 0 1 1 1 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvf 2 id Ġ= ĠID (" vf 2 id ", ĠVM (" 1 1 0 1 0 0 : 1 0 : 0 1 1 : imm 5 : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% v 5 ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvf 2 in Ġ= ĠID (" vf 2 in ", ĠVM (" 1 1 0 1 0 0 : 1 0 : 0 0 0 : imm 5 : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% v 5 ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvf 2 iu Ġ= ĠID (" vf 2 iu ", ĠVM (" 1 1 0 1 0 0 : 1 0 : 0 1 0 : imm 5 : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% v 5 ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvf 2 iz Ġ= ĠID (" vf 2 iz ", ĠVM (" 1 1 0 1 0 0 : 1 0 : 0 0 1 : imm 5 : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% v 5 ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvi 2 f Ġ= ĠID (" vi 2 f ", ĠVM (" 1 1 0 1 0 0 : 1 0 : 1 0 0 : imm 5 : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% v 5 ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv sc mp Ġ= ĠID (" v sc mp ", ĠVM (" 0 1 1 0 1 1 : 1 0 1 : vt : two : vs : one : vd "), Ġ"% zp , Ġ% yp , Ġ% xp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvm scl Ġ= ĠID (" vm scl ", ĠVM (" 1 1 1 1 0 0 : 1 0 0 : vt : two : vs : one : vd "), Ġ"% zm , Ġ% ym , Ġ% xs ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvt 4 4 4 4 _ q Ġ= ĠID (" vt 4 4 4 4 . q ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 1 1 0 0 1 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvt 5 5 5 1 _ q Ġ= ĠID (" vt 5 5 5 1 . q ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 1 1 0 1 0 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvt 5 6 5 0 _ q Ġ= ĠID (" vt 5 6 5 0 . q ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 1 1 0 1 1 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvm f vc Ġ= ĠID (" vm f vc ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 1 0 0 0 0 : 1 : imm 7 : 0 : vd "), Ġ"% zs , Ġ% 2 s ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv mt vc Ġ= ĠID (" v mt vc ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 1 0 0 0 1 : 0 : vs : 1 : imm 7 "), Ġ"% 2 d , Ġ% ys ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġm fv me Ġ= ĠID (" mf v me ", ĠVM (" 0 1 1 0 1 0 ---------------- ---------- "), Ġ"% t , Ġ% i ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġm tv me Ġ= ĠID (" mt v me ", ĠVM (" 1 0 1 1 0 0 ---------------- ---------- "), Ġ"% t , Ġ% i ", ĠADD R _ TYPE _ NONE , Ġ 0 ) ĊĠĠĠ Ġval Ġsv _ s Ġ= ĠID (" sv . s ", ĠVM (" 1 1 1 0 1 0 : rs : vt 5 : imm 1 4 : vt 2 "), Ġ"% Xs , Ġ% Y ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvf im Ġ= ĠID (" vf im ", ĠVM (" 1 1 0 1 1 1 : 1 1 : 1 : vt : imm 1 6 "), Ġ"% xs , Ġ% vh ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġsv l _ q Ġ= ĠID (" sv l . q ", ĠVM (" 1 1 1 1 0 1 : rs : vt 5 : imm 1 4 : 0 : vt 1 "), Ġ"% X q , Ġ% Y ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġsv r _ q Ġ= ĠID (" svr . q ", ĠVM (" 1 1 1 1 0 1 : rs : vt 5 : imm 1 4 : 1 : vt 1 "), Ġ"% X q , Ġ% Y ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv bf y 1 Ġ= ĠID (" v bf y 1 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 0 0 1 0 : two : vs : one : vd "), Ġ"% zp , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv bf y 2 Ġ= ĠID (" v bf y 2 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 0 0 1 1 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvf 2 h Ġ= ĠID (" vf 2 h ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 0 : 0 1 0 : two : vs : one : vd "), Ġ"% zs , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv h 2 f Ġ= ĠID (" vh 2 f ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 0 : 0 1 1 : two : vs : one : vd "), Ġ"% zq , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvi 2 s Ġ= ĠID (" vi 2 s ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 1 : 1 1 1 : two : vs : one : vd "), Ġ"% zs , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvi 2 us Ġ= ĠID (" vi 2 us ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 1 : 1 1 0 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv lg b Ġ= ĠID (" v lg b ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 0 : 1 1 1 : two : vs : one : vd "), Ġ"% zs , Ġ% ys ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv q mul Ġ= ĠID (" vq mul ", ĠVM (" 1 1 1 1 0 0 : 1 0 1 : vt : 1 : vs : 1 : vd "), Ġ"% zq , Ġ% yq , Ġ% xq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs 2 i Ġ= ĠID (" vs 2 i ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 1 : 0 1 1 : two : vs : one : vd "), Ġ"% zq , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvc 2 i Ġ= ĠID (" vc 2 i ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 1 : 0 0 1 : two : vs : one : vd "), Ġ"% zs , Ġ% ys , Ġ% xs ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv uc 2 i Ġ= ĠID (" v uc 2 i ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 1 : 0 0 0 : two : vs : one : vd "), Ġ"% zq , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv sb n Ġ= ĠID (" vs bn ", ĠVM (" 0 1 1 0 0 0 : 0 1 0 : vt : two : vs : one : vd "), Ġ"% zs , Ġ% ys , Ġ% xs ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv sb z Ġ= ĠID (" vs bz ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 0 1 1 0 : two : vs : one : vd "), Ġ"% zs , Ġ% ys ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs oc p Ġ= ĠID (" vs oc p ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 0 1 0 1 : two : vs : one : vd "), Ġ"% zq , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs rt 1 Ġ= ĠID (" vs rt 1 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 0 0 0 0 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs rt 2 Ġ= ĠID (" vs rt 2 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 0 0 0 1 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġvs rt 4 Ġ= ĠID (" vs rt 4 ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 1 0 : 0 1 0 0 1 : two : vs : one : vd "), Ġ"% zq , Ġ% yq ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv us 2 i Ġ= ĠID (" vus 2 i ", ĠVM (" 1 1 0 1 0 0 : 0 0 : 0 0 1 : 1 1 0 1 0 : two : vs : one : vd "), Ġ"% zq , Ġ% yp ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġv w bn Ġ= ĠID (" vw bn ", ĠVM (" 1 1 0 1 0 0 : 1 1 : imm 8 : two : vs : one : vd "), Ġ"% zs , Ġ% xs , Ġ% I ", ĠADD R _ TYPE _ NONE , ĠIN STR _ TYPE _ P SP ) ĊĠĠĠ Ġval Ġb vf Ġ= ĠID (" b vf ", ĠVM (" 0 1 0 0 1 0 : 0 1 : 0 0 0 : imm 3 : 0 0 : imm 1 6 "), Ġ"% Zc , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ P SP Ġor ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġb vt Ġ= ĠID (" b vt ", ĠVM (" 0 1 0 0 1 0 : 0 1 : 0 0 0 : imm 3 : 0 1 : imm 1 6 "), Ġ"% Zc , Ġ% O ", ĠADD R _ TYPE _ 1 6 , ĠIN STR _ TYPE _ P SP Ġor ĠIN STR _ TYPE _ B ) ĊĠĠĠ Ġval Ġbv fl Ġ= ĠID ( ĊĠĠĠĠĠĠĠ Ġ" bv fl ", ĊĠĠĠĠĠĠĠ ĠVM (" 0 1 0 0 1 0 : 0 1 : 0 0 0 : imm 3 : 1 0 : imm 1 6 "), ĊĠĠĠĠĠĠĠ Ġ"% Zc , Ġ% O ", ĊĠĠĠĠĠĠĠ ĠADD R _ TYPE _ 1 6 , ĊĠĠĠĠĠĠĠ ĠIN STR _ TYPE _ P SP Ġor ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġbv tl Ġ= ĠID ( ĊĠĠĠĠĠĠĠ Ġ" bv tl ", ĊĠĠĠĠĠĠĠ ĠVM (" 0 1 0 0 1 0 : 0 1 : 0 0 0 : imm 3 : 1 1 : imm 1 6 "), ĊĠĠĠĠĠĠĠ Ġ"% Zc , Ġ% O ", ĊĠĠĠĠĠĠĠ ĠADD R _ TYPE _ 1 6 , ĊĠĠĠĠĠĠĠ ĠIN STR _ TYPE _ P SP Ġor ĠIN STR _ TYPE _ B Ġor ĠIN STR _ TYPE _ LIKELY ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġinstructions Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġadd , ĊĠĠĠĠĠĠĠ Ġadd u , ĊĠĠĠĠĠĠĠ Ġadd i , ĊĠĠĠĠĠĠĠ Ġadd iu , ĊĠĠĠĠĠĠĠ Ġsub , ĊĠĠĠĠĠĠĠ Ġsub u , ĊĠĠĠĠĠĠĠ Ġand , ĊĠĠĠĠĠĠĠ Ġand i , ĊĠĠĠĠĠĠĠ Ġnor , ĊĠĠĠĠĠĠĠ Ġor , ĊĠĠĠĠĠĠĠ Ġori , ĊĠĠĠĠĠĠĠ Ġxor , ĊĠĠĠĠĠĠĠ Ġx ori , ĊĠĠĠĠĠĠĠ Ġs ll , ĊĠĠĠĠĠĠĠ Ġs ll v , ĊĠĠĠĠĠĠĠ Ġs ra , ĊĠĠĠĠĠĠĠ Ġsr av , ĊĠĠĠĠĠĠĠ Ġs rl , ĊĠĠĠĠĠĠĠ Ġs rl v , ĊĠĠĠĠĠĠĠ Ġro tr , ĊĠĠĠĠĠĠĠ Ġro tr v , ĊĠĠĠĠĠĠĠ Ġs lt , ĊĠĠĠĠĠĠĠ Ġs lt i , ĊĠĠĠĠĠĠĠ Ġs lt u , ĊĠĠĠĠĠĠĠ Ġs lt iu , ĊĠĠĠĠĠĠĠ Ġl ui , ĊĠĠĠĠĠĠĠ Ġse b , ĊĠĠĠĠĠĠĠ Ġse h , ĊĠĠĠĠĠĠĠ Ġbit rev , ĊĠĠĠĠĠĠĠ Ġmax , ĊĠĠĠĠĠĠĠ Ġmin , ĊĠĠĠĠĠĠĠ Ġdiv , ĊĠĠĠĠĠĠĠ Ġdiv u , ĊĠĠĠĠĠĠĠ Ġmult , ĊĠĠĠĠĠĠĠ Ġmult u , ĊĠĠĠĠĠĠĠ Ġm add , ĊĠĠĠĠĠĠĠ Ġm add u , ĊĠĠĠĠĠĠĠ Ġm sub , ĊĠĠĠĠĠĠĠ Ġm sub u , ĊĠĠĠĠĠĠĠ Ġmf hi , ĊĠĠĠĠĠĠĠ Ġm flo , ĊĠĠĠĠĠĠĠ Ġm thi , ĊĠĠĠĠĠĠĠ Ġmt lo , ĊĠĠĠĠĠĠĠ Ġmov z , ĊĠĠĠĠĠĠĠ Ġmov n , ĊĠĠĠĠĠĠĠ Ġext , ĊĠĠĠĠĠĠĠ Ġins , ĊĠĠĠĠĠĠĠ Ġcl z , ĊĠĠĠĠĠĠĠ Ġclo , ĊĠĠĠĠĠĠĠ Ġw sb h , ĊĠĠĠĠĠĠĠ Ġw sb w , ĊĠĠĠĠĠĠĠ Ġbe q , ĊĠĠĠĠĠĠĠ Ġbe ql , ĊĠĠĠĠĠĠĠ Ġb ge z , ĊĠĠĠĠĠĠĠ Ġb ge zl , ĊĠĠĠĠĠĠĠ Ġb ge z al , ĊĠĠĠĠĠĠĠ Ġb ge z all , ĊĠĠĠĠĠĠĠ Ġb lt z , ĊĠĠĠĠĠĠĠ Ġb lt zl , ĊĠĠĠĠĠĠĠ Ġb lt z al , ĊĠĠĠĠĠĠĠ Ġb lt z all , ĊĠĠĠĠĠĠĠ Ġble z , ĊĠĠĠĠĠĠĠ Ġble zl , ĊĠĠĠĠĠĠĠ Ġb gt z , ĊĠĠĠĠĠĠĠ Ġb gt zl , ĊĠĠĠĠĠĠĠ Ġb ne , ĊĠĠĠĠĠĠĠ Ġb nel , ĊĠĠĠĠĠĠĠ Ġj , ĊĠĠĠĠĠĠĠ Ġj r , ĊĠĠĠĠĠĠĠ Ġj al r , ĊĠĠĠĠĠĠĠ Ġj al , ĊĠĠĠĠĠĠĠ Ġbc 1 f , ĊĠĠĠĠĠĠĠ Ġbc 1 t , ĊĠĠĠĠĠĠĠ Ġbc 1 fl , ĊĠĠĠĠĠĠĠ Ġbc 1 tl , ĊĠĠĠĠĠĠĠ Ġlb , ĊĠĠĠĠĠĠĠ Ġlh , ĊĠĠĠĠĠĠĠ Ġlw , ĊĠĠĠĠĠĠĠ Ġl wl , ĊĠĠĠĠĠĠĠ Ġl wr , ĊĠĠĠĠĠĠĠ Ġl bu , ĊĠĠĠĠĠĠĠ Ġl hu , ĊĠĠĠĠĠĠĠ Ġsb , ĊĠĠĠĠĠĠĠ Ġsh , ĊĠĠĠĠĠĠĠ Ġsw , ĊĠĠĠĠĠĠĠ Ġsw l , ĊĠĠĠĠĠĠĠ Ġsw r , ĊĠĠĠĠĠĠĠ Ġll , ĊĠĠĠĠĠĠĠ Ġsc , ĊĠĠĠĠĠĠĠ Ġl wc 1 , ĊĠĠĠĠĠĠĠ Ġsw c 1 , ĊĠĠĠĠĠĠĠ Ġadd _ s , ĊĠĠĠĠĠĠĠ Ġsub _ s , ĊĠĠĠĠĠĠĠ Ġmul _ s , ĊĠĠĠĠĠĠĠ Ġdiv _ s , ĊĠĠĠĠĠĠĠ Ġsqrt _ s , ĊĠĠĠĠĠĠĠ Ġabs _ s , ĊĠĠĠĠĠĠĠ Ġmov _ s , ĊĠĠĠĠĠĠĠ Ġneg _ s , ĊĠĠĠĠĠĠĠ Ġround _ w _ s , ĊĠĠĠĠĠĠĠ Ġtrunc _ w _ s , ĊĠĠĠĠĠĠĠ Ġceil _ w _ s , ĊĠĠĠĠĠĠĠ Ġfloor _ w _ s , ĊĠĠĠĠĠĠĠ Ġcv t _ s _ w , ĊĠĠĠĠĠĠĠ Ġcv t _ w _ s , ĊĠĠĠĠĠĠĠ Ġm fc 1 , ĊĠĠĠĠĠĠĠ Ġm tc 1 , ĊĠĠĠĠĠĠĠ Ġc fc 1 , ĊĠĠĠĠĠĠĠ Ġc tc 1 , ĊĠĠĠĠĠĠĠ Ġc _ f _ s , ĊĠĠĠĠĠĠĠ Ġc _ un _ s , ĊĠĠĠĠĠĠĠ Ġc _ eq _ s , ĊĠĠĠĠĠĠĠ Ġc _ ue q _ s , ĊĠĠĠĠĠĠĠ Ġc _ olt _ s , ĊĠĠĠĠĠĠĠ Ġc _ ult _ s , ĊĠĠĠĠĠĠĠ Ġc _ ole _ s , ĊĠĠĠĠĠĠĠ Ġc _ ule _ s , ĊĠĠĠĠĠĠĠ Ġc _ sf _ s , ĊĠĠĠĠĠĠĠ Ġc _ ng le _ s , ĊĠĠĠĠĠĠĠ Ġc _ seq _ s , ĊĠĠĠĠĠĠĠ Ġc _ ng l _ s , ĊĠĠĠĠĠĠĠ Ġc _ lt _ s , ĊĠĠĠĠĠĠĠ Ġc _ n ge _ s , ĊĠĠĠĠĠĠĠ Ġc _ le _ s , ĊĠĠĠĠĠĠĠ Ġc _ ng t _ s , ĊĠĠĠĠĠĠĠ Ġsyscall , ĊĠĠĠĠĠĠĠ Ġcache , ĊĠĠĠĠĠĠĠ Ġsync , ĊĠĠĠĠĠĠĠ Ġ_ break , ĊĠĠĠĠĠĠĠ Ġd break , ĊĠĠĠĠĠĠĠ Ġhalt , ĊĠĠĠĠĠĠĠ Ġd ret , ĊĠĠĠĠĠĠĠ Ġer et , ĊĠĠĠĠĠĠĠ Ġmf ic , ĊĠĠĠĠĠĠĠ Ġmt ic , ĊĠĠĠĠĠĠĠ Ġm fd r , ĊĠĠĠĠĠĠĠ Ġm td r , ĊĠĠĠĠĠĠĠ Ġc fc 0 , ĊĠĠĠĠĠĠĠ Ġc tc 0 , ĊĠĠĠĠĠĠĠ Ġm fc 0 , ĊĠĠĠĠĠĠĠ Ġm tc 0 , ĊĠĠĠĠĠĠĠ Ġm fv , ĊĠĠĠĠĠĠĠ Ġmf vc , ĊĠĠĠĠĠĠĠ Ġm tv , ĊĠĠĠĠĠĠĠ Ġmt vc , ĊĠĠĠĠĠĠĠ Ġlv _ s , ĊĠĠĠĠĠĠĠ Ġlv _ q , ĊĠĠĠĠĠĠĠ Ġlvl _ q , ĊĠĠĠĠĠĠĠ Ġl vr _ q , ĊĠĠĠĠĠĠĠ Ġsv _ q , ĊĠĠĠĠĠĠĠ Ġv dot , ĊĠĠĠĠĠĠĠ Ġv scl , ĊĠĠĠĠĠĠĠ Ġvs ge , ĊĠĠĠĠĠĠĠ Ġv slt , ĊĠĠĠĠĠĠĠ Ġv rot , ĊĠĠĠĠĠĠĠ Ġv zero , ĊĠĠĠĠĠĠĠ Ġv one , ĊĠĠĠĠĠĠĠ Ġv mov , ĊĠĠĠĠĠĠĠ Ġv abs , ĊĠĠĠĠĠĠĠ Ġv neg , ĊĠĠĠĠĠĠĠ Ġv oc p , ĊĠĠĠĠĠĠĠ Ġv sg n , ĊĠĠĠĠĠĠĠ Ġv rcp , ĊĠĠĠĠĠĠĠ Ġv rs q , ĊĠĠĠĠĠĠĠ Ġv sin , ĊĠĠĠĠĠĠĠ Ġv cos , ĊĠĠĠĠĠĠĠ Ġv exp 2 , ĊĠĠĠĠĠĠĠ Ġv log 2 , ĊĠĠĠĠĠĠĠ Ġv sqrt , ĊĠĠĠĠĠĠĠ Ġv asin , ĊĠĠĠĠĠĠĠ Ġvn rcp , ĊĠĠĠĠĠĠĠ Ġv ns in , ĊĠĠĠĠĠĠĠ Ġv re xp 2 , ĊĠĠĠĠĠĠĠ Ġvs at 0 , ĊĠĠĠĠĠĠĠ Ġvs at 1 , ĊĠĠĠĠĠĠĠ Ġvc st , ĊĠĠĠĠĠĠĠ Ġv mm ul , ĊĠĠĠĠĠĠĠ Ġv h dp , ĊĠĠĠĠĠĠĠ Ġv crs _ t , ĊĠĠĠĠĠĠĠ Ġv cr sp _ t , ĊĠĠĠĠĠĠĠ Ġvi 2 c , ĊĠĠĠĠĠĠĠ Ġvi 2 uc , ĊĠĠĠĠĠĠĠ Ġv tf m 2 , ĊĠĠĠĠĠĠĠ Ġv tf m 3 , ĊĠĠĠĠĠĠĠ Ġv tf m 4 , ĊĠĠĠĠĠĠĠ Ġv ht fm 2 , ĊĠĠĠĠĠĠĠ Ġv ht fm 3 , ĊĠĠĠĠĠĠĠ Ġv ht fm 4 , ĊĠĠĠĠĠĠĠ Ġvs rt 3 , ĊĠĠĠĠĠĠĠ Ġv fad , ĊĠĠĠĠĠĠĠ Ġv min , ĊĠĠĠĠĠĠĠ Ġvmax , ĊĠĠĠĠĠĠĠ Ġv add , ĊĠĠĠĠĠĠĠ Ġv sub , ĊĠĠĠĠĠĠĠ Ġv div , ĊĠĠĠĠĠĠĠ Ġvm ul , ĊĠĠĠĠĠĠĠ Ġvid t , ĊĠĠĠĠĠĠĠ Ġv mid t , ĊĠĠĠĠĠĠĠ Ġvi im , ĊĠĠĠĠĠĠĠ Ġvm mov , ĊĠĠĠĠĠĠĠ Ġvm zero , ĊĠĠĠĠĠĠĠ Ġvm one , ĊĠĠĠĠĠĠĠ Ġv nop , ĊĠĠĠĠĠĠĠ Ġv sync , ĊĠĠĠĠĠĠĠ Ġv flush , ĊĠĠĠĠĠĠĠ Ġv pf xd , ĊĠĠĠĠĠĠĠ Ġv pf xs , ĊĠĠĠĠĠĠĠ Ġv pf xt , ĊĠĠĠĠĠĠĠ Ġv det , ĊĠĠĠĠĠĠĠ Ġvr nd s , ĊĠĠĠĠĠĠĠ Ġv rn di , ĊĠĠĠĠĠĠĠ Ġvr nd f 1 , ĊĠĠĠĠĠĠĠ Ġvr nd f 2 , ĊĠĠĠĠĠĠĠ Ġv cmp , ĊĠĠĠĠĠĠĠ Ġvc mov f , ĊĠĠĠĠĠĠĠ Ġvc mov t , ĊĠĠĠĠĠĠĠ Ġv avg , ĊĠĠĠĠĠĠĠ Ġvf 2 id , ĊĠĠĠĠĠĠĠ Ġvf 2 in , ĊĠĠĠĠĠĠĠ Ġvf 2 iu , ĊĠĠĠĠĠĠĠ Ġvf 2 iz , ĊĠĠĠĠĠĠĠ Ġvi 2 f , ĊĠĠĠĠĠĠĠ Ġv sc mp , ĊĠĠĠĠĠĠĠ Ġvm scl , ĊĠĠĠĠĠĠĠ Ġvt 4 4 4 4 _ q , ĊĠĠĠĠĠĠĠ Ġvt 5 5 5 1 _ q , ĊĠĠĠĠĠĠĠ Ġvt 5 6 5 0 _ q , ĊĠĠĠĠĠĠĠ Ġvm f vc , ĊĠĠĠĠĠĠĠ Ġv mt vc , ĊĠĠĠĠĠĠĠ Ġm fv me , ĊĠĠĠĠĠĠĠ Ġm tv me , ĊĠĠĠĠĠĠĠ Ġsv _ s , ĊĠĠĠĠĠĠĠ Ġvf im , ĊĠĠĠĠĠĠĠ Ġsv l _ q , ĊĠĠĠĠĠĠĠ Ġsv r _ q , ĊĠĠĠĠĠĠĠ Ġv bf y 1 , ĊĠĠĠĠĠĠĠ Ġv bf y 2 , ĊĠĠĠĠĠĠĠ Ġvf 2 h , ĊĠĠĠĠĠĠĠ Ġv h 2 f , ĊĠĠĠĠĠĠĠ Ġvi 2 s , ĊĠĠĠĠĠĠĠ Ġvi 2 us , ĊĠĠĠĠĠĠĠ Ġv lg b , ĊĠĠĠĠĠĠĠ Ġv q mul , ĊĠĠĠĠĠĠĠ Ġvs 2 i , ĊĠĠĠĠĠĠĠ Ġvc 2 i , ĊĠĠĠĠĠĠĠ Ġv uc 2 i , ĊĠĠĠĠĠĠĠ Ġv sb n , ĊĠĠĠĠĠĠĠ Ġv sb z , ĊĠĠĠĠĠĠĠ Ġvs oc p , ĊĠĠĠĠĠĠĠ Ġvs rt 1 , ĊĠĠĠĠĠĠĠ Ġvs rt 2 , ĊĠĠĠĠĠĠĠ Ġvs rt 4 , ĊĠĠĠĠĠĠĠ Ġv us 2 i , ĊĠĠĠĠĠĠĠ Ġv w bn , ĊĠĠĠĠĠĠĠ Ġb vf , ĊĠĠĠĠĠĠĠ Ġb vt , ĊĠĠĠĠĠĠĠ Ġbv fl , ĊĠĠĠĠĠĠĠ Ġbv tl ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġinstructions ByName Ġ= Ġinstructions . map Ġ{ Ġit . name Ġto Ġit Ġ}. toMap () Ċ } Ċ Ċ const Ġval ĠADD R _ TYPE _ NONE : ĠInt Ġ= Ġ 0 Ċ const Ġval ĠADD R _ TYPE _ REG : ĠInt Ġ= Ġ 1 Ċ const Ġval ĠADD R _ TYPE _ 1 6 : ĠInt Ġ= Ġ 2 Ċ const Ġval ĠADD R _ TYPE _ 2 6 : ĠInt Ġ= Ġ 3 Ċ Ċ const Ġval ĠIN STR _ TYPE _ P SP : ĠInt Ġ= Ġ 1 Ġshl Ġ 0 Ċ const Ġval ĠIN STR _ TYPE _ SYSCALL : ĠInt Ġ= Ġ 1 Ġshl Ġ 1 Ċ const Ġval ĠIN STR _ TYPE _ B : ĠInt Ġ= Ġ 1 Ġshl Ġ 2 Ċ const Ġval ĠIN STR _ TYPE _ LIKELY : ĠInt Ġ= Ġ 1 Ġshl Ġ 3 Ċ const Ġval ĠIN STR _ TYPE _ J AL : ĠInt Ġ= Ġ 1 Ġshl Ġ 4 Ċ const Ġval ĠIN STR _ TYPE _ JUMP : ĠInt Ġ= Ġ 1 Ġshl Ġ 5 Ċ const Ġval ĠIN STR _ TYPE _ BREAK : ĠInt Ġ= Ġ 1 Ġshl Ġ 6 Ċ Ċ private Ġfun ĠVM ( format : ĠString ) Ġ= ĠValue Mask ( format ) Ċ private Ġfun ĠID ( name : ĠString , Ġvm : ĠValue Mask , Ġformat : ĠString , Ġaddress Type : ĠInt , Ġinstruction Type : ĠInt ) Ġ= ĊĠĠĠ ĠInstruction Type ( name , Ġvm , Ġformat , Ġaddress Type , Ġinstruction Type ) Ċ Ċ data Ġclass ĠValue Mask ( val Ġformat : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġvalue : ĠInt ĊĠĠĠ Ġval Ġmask : ĠInt ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcounts Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" c stw " Ġto Ġ 1 , Ġ" cst z " Ġto Ġ 1 , Ġ" c sty " Ġto Ġ 1 , Ġ" cst x " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ab sw " Ġto Ġ 1 , Ġ" abs z " Ġto Ġ 1 , Ġ" abs y " Ġto Ġ 1 , Ġ" abs x " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ms kw " Ġto Ġ 1 , Ġ" ms kz " Ġto Ġ 1 , Ġ" ms ky " Ġto Ġ 1 , Ġ" ms kx " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" neg w " Ġto Ġ 1 , Ġ" ne gz " Ġto Ġ 1 , Ġ" ne gy " Ġto Ġ 1 , Ġ" neg x " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" one " Ġto Ġ 1 , Ġ" two " Ġto Ġ 1 , Ġ" vt 1 " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" vt 2 " Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" sat w " Ġto Ġ 2 , Ġ" sat z " Ġto Ġ 2 , Ġ" sat y " Ġto Ġ 2 , Ġ" sat x " Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" sw zw " Ġto Ġ 2 , Ġ" sw zz " Ġto Ġ 2 , Ġ" sw zy " Ġto Ġ 2 , Ġ" sw zx " Ġto Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" imm 3 " Ġto Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" imm 4 " Ġto Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" f cond " Ġto Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" c 0 dr " Ġto Ġ 5 , Ġ" c 0 cr " Ġto Ġ 5 , Ġ" c 1 dr " Ġto Ġ 5 , Ġ" c 1 cr " Ġto Ġ 5 , Ġ" imm 5 " Ġto Ġ 5 , Ġ" vt 5 " Ġto Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" rs " Ġto Ġ 5 , Ġ" rd " Ġto Ġ 5 , Ġ" rt " Ġto Ġ 5 , Ġ" sa " Ġto Ġ 5 , Ġ" lsb " Ġto Ġ 5 , Ġ" ms b " Ġto Ġ 5 , Ġ" fs " Ġto Ġ 5 , Ġ" fd " Ġto Ġ 5 , Ġ" ft " Ġto Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" vs " Ġto Ġ 7 , Ġ" vt " Ġto Ġ 7 , Ġ" vd " Ġto Ġ 7 , Ġ" imm 7 " Ġto Ġ 7 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" imm 8 " Ġto Ġ 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" imm 1 4 " Ġto Ġ 1 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" imm 1 6 " Ġto Ġ 1 6 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" imm 2 0 " Ġto Ġ 2 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" imm 2 6 " Ġto Ġ 2 6 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġvalue : ĠInt Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġmask : ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( item Ġin Ġformat . split (': ')) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġnormal Ġchunk ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Regex ("^ [ 0 1 \\ - ]+ $ "). matches ( item )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( c Ġin Ġitem ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue Ġshl Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmask Ġ= Ġmask Ġshl Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġ== Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue Ġor Ġ 0 ; Ġmask Ġ= Ġmask Ġor Ġ 1 ; Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġ== Ġ' 1 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue Ġor Ġ 1 ; Ġmask Ġ= Ġmask Ġor Ġ 1 ; Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( c Ġ== Ġ'-') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue Ġor Ġ 0 ; Ġmask Ġ= Ġmask Ġor Ġ 0 ; Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġspecial Ġchunk ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisplacement Ġ= Ġcounts [ item ] Ġ?: Ġthrow ĠException (" Invalid Ġitem Ġ'$ item '") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue Ġshl Ġdisplacement ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmask Ġ= Ġmask Ġshl Ġdisplacement ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . value Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġthis . mask Ġ= Ġmask ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠInstruction Type ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġvm : ĠValue Mask , ĊĠĠĠ Ġval Ġformat : ĠString , ĊĠĠĠ Ġval Ġaddress Type : ĠInt , ĊĠĠĠ Ġval Ġinstruction Type : ĠInt Ċ ) Ġ{ ĊĠĠĠ Ġval Ġformat Esc aped Ġby Ġlazy Ġ{ ĠRegex . escape Replacement ( format ) Ġ} ĊĠĠĠ Ġval Ġreplacement s Ġby Ġlazy Ġ{ ĠRegex ("% \\ w + "). findAll ( format ). map Ġ{ Ġit . value Ġ}. toList () Ġ} ĊĠĠĠ Ġval Ġformat Regex Ġby Ġlazy Ġ{ ĠRegex ( format Esc aped . replace ( Regex ("% \\ w + ")) Ġ{ Ġ" ([ \\ - \\ + \\ w ]+ )" Ġ}. replace ( Regex ("\\ s + ")) Ġ{ Ġ"\\ s *" Ġ}) Ġ} ĊĊĠĠĠ Ġfun Ġmatch ( i 3 2 : ĠInt ) Ġ= Ġ( i 3 2 Ġand Ġthis . vm . mask ) Ġ== Ġ( this . vm . value Ġand Ġthis . vm . mask ) ĊĠĠĠ Ġprivate Ġfun Ġis Instruction Type ( mask : ĠInt ) Ġ= Ġ( this . instruction Type Ġand Ġmask ) Ġ!= Ġ 0 ĊĠĠĠ Ġval Ġis Sy scall Ġget () Ġ= Ġthis . is Instruction Type ( INSTR _ TYPE _ SYSCALL ) ĊĠĠĠ Ġval Ġis Break Ġget () Ġ= Ġthis . is Instruction Type ( INSTR _ TYPE _ BREAK ) ĊĠĠĠ Ġval Ġis Branch Ġget () Ġ= Ġthis . is Instruction Type ( INSTR _ TYPE _ B ) ĊĠĠĠ Ġval Ġis Call Ġget () Ġ= Ġthis . is Instruction Type ( INSTR _ TYPE _ J AL ) ĊĠĠĠ Ġval Ġis Jump Ġget () Ġ= Ġthis . is Instruction Type ( INSTR _ TYPE _ J AL ) Ġ|| Ġthis . is Instruction Type ( INSTR _ TYPE _ JUMP ) ĊĠĠĠ Ġval Ġis Jump No Link Ġget () Ġ= Ġthis . is Instruction Type ( INSTR _ TYPE _ JUMP ) ĊĠĠĠ Ġval Ġis J al Ġget () Ġ= Ġthis . is Instruction Type ( INSTR _ TYPE _ J AL ) ĊĠĠĠ Ġval Ġis Jump Or Branch Ġget () Ġ= Ġthis . is Branch Ġ|| Ġthis . is Jump ĊĠĠĠ Ġval Ġis Lik ely Ġget () Ġ= Ġthis . is Instruction Type ( INSTR _ TYPE _ LIKELY ) ĊĠĠĠ Ġval Ġis Register Ġget () Ġ= Ġthis . address Type Ġ== ĠADD R _ TYPE _ REG ĊĠĠĠ Ġval Ġis Fixed Address Jump Ġget () Ġ= Ġthis . is Jump Or Branch Ġ&& Ġ! this . is Register ĊĠĠĠ Ġval Ġhas Delayed Branch Ġget () Ġ= Ġthis . is Jump Or Branch ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= ĊĠĠĠĠĠĠĠ Ġ" Instruction Type (' ${ this . name }', Ġ${ "% 0 8 X ". format ( this . vm . value )}, Ġ${ "% 0 8 X ". format ( this . vm . mask )}) " Ċ } Ċ Ċ fun ĠString . k escape () Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġ" break " Ġ-> Ġ"_ $ this " ĊĠĠĠ Ġelse Ġ-> Ġthis . replace ('.', Ġ'_ ') Ċ } Ċ