2021-07-03 05:07:57 +01:00
<!DOCTYPE HTML>
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html;charset=US-ASCII" >
2021-09-22 04:45:45 +01:00
< meta name = "generator" content = "ZealOS V1.01" >
2021-07-03 05:07:57 +01:00
< style type = "text/css" >
2021-07-29 03:20:15 +01:00
body {background-color:#fef1f0;}
.cF0{color:#000000;background-color:#fef1f0;}
.cF1{color:#0148a4;background-color:#fef1f0;}
.cF2{color:#3b7901;background-color:#fef1f0;}
.cF3{color:#057c7e;background-color:#fef1f0;}
.cF4{color:#bb2020;background-color:#fef1f0;}
.cF5{color:#9e42ae;background-color:#fef1f0;}
.cF6{color:#b57901;background-color:#fef1f0;}
.cF7{color:#b2b6af;background-color:#fef1f0;}
.cF8{color:#555753;background-color:#fef1f0;}
.cF9{color:#678fbb;background-color:#fef1f0;}
.cFA{color:#82bc49;background-color:#fef1f0;}
.cFB{color:#0097a2;background-color:#fef1f0;}
.cFC{color:#e26a6a;background-color:#fef1f0;}
.cFD{color:#c671bc;background-color:#fef1f0;}
.cFE{color:#c7ab00;background-color:#fef1f0;}
.cFF{color:#fef1f0;background-color:#fef1f0;}
2021-07-03 05:07:57 +01:00
< / style >
< / head >
< body >
2021-07-05 01:12:38 +01:00
< pre style = "font-family:monospace;font-size:12pt" >
2021-07-03 05:07:57 +01:00
< a name = "l1" > < / a > < span class = cF9 > I64< / span > < span class = cF0 > < / span > < span class = cFD > InstEntriesCompare< / span > < span class = cF0 > (< / span > < span class = cF9 > CInst< / span > < span class = cF0 > *tmpins1, < / span > < span class = cF9 > CInst< / span > < span class = cF0 > *tmpins2)
< a name = "l2" > < / a > {
2021-07-04 23:11:34 +01:00
< a name = "l3" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > i1, i2, j = < / span > < span class = cFE > 0< / span > < span class = cF0 > , res = < / span > < span class = cFE > 0< / span > < span class = cF0 > , oc_count1 = tmpins1-> opcode_count, oc_count2 = tmpins2-> opcode_count;
2021-07-03 05:07:57 +01:00
< a name = "l4" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l5" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins1-> flags & < / span > < span class = cF3 > IEF_STI_LIKE< / span > < span class = cF0 > )
< a name = "l6" > < / a > oc_count1--;
< a name = "l7" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins2-> flags & < / span > < span class = cF3 > IEF_STI_LIKE< / span > < span class = cF0 > )
< a name = "l8" > < / a > oc_count2--;
< a name = "l9" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (< / span > < span class = cF3 > TRUE< / span > < span class = cF0 > )
< a name = "l10" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l11" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (j < oc_count1 & & j < oc_count2)
< a name = "l12" > < / a > {
< a name = "l13" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (res = tmpins1-> opcode[j] - tmpins2-> opcode[j])
< a name = "l14" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > res;
< a name = "l15" > < / a > j++;
< a name = "l16" > < / a > }
< a name = "l17" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l18" > < / a > {
< a name = "l19" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (res = oc_count1 - oc_count2)
< a name = "l20" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > res;
2021-07-03 05:07:57 +01:00
< a name = "l21" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l22" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins1-> flags & < / span > < span class = cF3 > IEF_STI_LIKE< / span > < span class = cF0 > & & tmpins2-> flags & < / span > < span class = cF3 > IEF_STI_LIKE< / span > < span class = cF0 > )
< a name = "l23" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > tmpins1-> opcode[j] - tmpins2-> opcode[j];
2021-07-03 05:07:57 +01:00
< a name = "l24" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l25" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (res = tmpins1-> flags & < / span > < span class = cF3 > IEF_STI_LIKE< / span > < span class = cF0 > - tmpins2-> flags & < / span > < span class = cF3 > IEF_STI_LIKE< / span > < span class = cF0 > )
< a name = "l26" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > res;
2021-07-03 05:07:57 +01:00
< a name = "l27" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l28" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (res = tmpins1-> slash_val - tmpins2-> slash_val)
< a name = "l29" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > res;
2021-07-03 05:07:57 +01:00
< a name = "l30" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l31" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (res = tmpins1-> flags & < / span > < span class = cF3 > IEF_OP_SIZE32< / span > < span class = cF0 > - tmpins2-> flags & < / span > < span class = cF3 > IEF_OP_SIZE32< / span > < span class = cF0 > )
< a name = "l32" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > res;
2021-07-03 05:07:57 +01:00
< a name = "l33" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l34" > < / a > i1 = < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, tmpins1-> arg1) || < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, tmpins1-> arg2);
< a name = "l35" > < / a > i2 = < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, tmpins2-> arg1) || < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, tmpins2-> arg2);
< a name = "l36" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (res = i1 - i2)
< a name = "l37" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > res;
2021-07-03 05:07:57 +01:00
< a name = "l38" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l39" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (res = tmpins1-> flags & < / span > < span class = cF3 > IEF_48_REX< / span > < span class = cF0 > - tmpins2-> flags & < / span > < span class = cF3 > IEF_48_REX< / span > < span class = cF0 > )
< a name = "l40" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > res;
2021-07-03 05:07:57 +01:00
< a name = "l41" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l42" > < / a > i1 = tmpins1-> arg2 == < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > || tmpins1-> arg2 == < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > ;
< a name = "l43" > < / a > i2 = tmpins2-> arg2 == < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > || tmpins2-> arg2 == < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > ;
< a name = "l44" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > i1 - i2;
< a name = "l45" > < / a > }
< a name = "l46" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l47" > < / a > }
< a name = "l48" > < / a >
< a name = "l49" > < / a > < / span > < span class = cF2 > /*< / span > < span class = cF0 >
< a name = "l50" > < / a > < / span > < span class = cF2 > U0 DumpUAsmIns(CInst *tmpins)< / span > < span class = cF0 >
< a name = "l51" > < / a > < / span > < span class = cF2 > {< / span > < span class = cF0 >
2021-07-04 23:11:34 +01:00
< a name = "l52" > < / a > < / span > < span class = cF2 > CHashOpcode *tmpo = tmpins(U8 *) - tmpins-> ins_entry_num * sizeof(CInst) - offset(CHashOpcode.ins);< / span > < span class = cF0 >
< a name = "l53" > < / a > < / span > < span class = cF2 > " %10s:%02d,%02d SV:%02d\n" , tmpo-> str, tmpins-> arg1, tmpins-> arg2, tmpins-> slash_val;< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l54" > < / a > < / span > < span class = cF2 > }< / span > < span class = cF0 >
< a name = "l55" > < / a > < / span > < span class = cF2 > U0 DumpUAsmTables()< / span > < span class = cF0 >
< a name = "l56" > < / a > < / span > < span class = cF2 > {< / span > < span class = cF0 >
2021-07-04 23:11:34 +01:00
< a name = "l57" > < / a > < / span > < span class = cF2 > I64 k;< / span > < span class = cF0 >
< a name = "l58" > < / a > < / span > < span class = cF2 > " 16/32 Bit Table\n" ;< / span > < span class = cF0 >
< a name = "l59" > < / a > < / span > < span class = cF2 > for (k = 0; k < uasm.table_16_32_entries; k++)< / span > < span class = cF0 >
< a name = "l60" > < / a > < / span > < span class = cF2 > DumpUAsmIns(uasm.table_16_32[k]);< / span > < span class = cF0 >
< a name = "l61" > < / a > < / span > < span class = cF2 > " \n\n\n\n64 Bit Table\n" ;< / span > < span class = cF0 >
< a name = "l62" > < / a > < / span > < span class = cF2 > for (k = 0; k < uasm.table_64_entries; k++)< / span > < span class = cF0 >
< a name = "l63" > < / a > < / span > < span class = cF2 > DumpUAsmIns(uasm.table_64[k]);< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l64" > < / a > < / span > < span class = cF2 > }< / span > < span class = cF0 >
< a name = "l65" > < / a > < / span > < span class = cF2 > */< / span > < span class = cF0 >
< a name = "l66" > < / a >
< a name = "l67" > < / a > < / span > < span class = cF9 > CInst< / span > < span class = cF0 > *< / span > < span class = cFD > InstEntryFind< / span > < span class = cF0 > (< / span > < span class = cF1 > U8< / span > < span class = cF0 > *rip, < / span > < span class = cF9 > I64< / span > < span class = cF0 > opsize, < / span > < span class = cF9 > I64< / span > < span class = cF0 > seg_size)
< a name = "l68" > < / a > {< / span > < span class = cF2 > //Binary Search< / span > < span class = cF0 >
2021-07-04 23:11:34 +01:00
< a name = "l69" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > i, j, n, m, k, arg1, arg2, o1, o2, oc_count;
< a name = "l70" > < / a > < / span > < span class = cF9 > CInst< / span > < span class = cF0 > *tmpins, **table;
2021-07-03 05:07:57 +01:00
< a name = "l71" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l72" > < / a > i = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l73" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (seg_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l74" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l75" > < / a > table = < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64;
< a name = "l76" > < / a > j = < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64_entries - < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l77" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l78" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l79" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l80" > < / a > table = < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32;
< a name = "l81" > < / a > j = < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32_entries - < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l82" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l83" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (< / span > < span class = cF3 > TRUE< / span > < span class = cF0 > )
< a name = "l84" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l85" > < / a > k = (i + j) > > < / span > < span class = cFE > 1< / span > < span class = cF0 > ; < / span > < span class = cF2 > //binary search< / span > < span class = cF0 >
< a name = "l86" > < / a > tmpins = table[k];
2021-07-03 05:07:57 +01:00
< a name = "l87" > < / a > < / span > < span class = cF2 > //DumpUAsmIns(tmpins);< / span > < span class = cF0 >
2021-07-04 23:11:34 +01:00
< a name = "l88" > < / a > m = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l89" > < / a > n = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l90" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (< / span > < span class = cF3 > TRUE< / span > < span class = cF0 > )
< a name = "l91" > < / a > { < / span > < span class = cF2 > //ief_compare_start< / span > < span class = cF0 >
< a name = "l92" > < / a > arg1 = tmpins-> arg1;
< a name = "l93" > < / a > arg2 = tmpins-> arg2;
< a name = "l94" > < / a > oc_count = tmpins-> opcode_count;
< a name = "l95" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> flags & < / span > < span class = cF3 > IEF_STI_LIKE< / span > < span class = cF0 > )
< a name = "l96" > < / a > oc_count--;
< a name = "l97" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (n < oc_count)
< a name = "l98" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l99" > < / a > o1 = rip[n];
< a name = "l100" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (n == tmpins-> opcode_count - < / span > < span class = cFE > 1< / span > < span class = cF0 > & & tmpins-> flags & < / span > < span class = cF3 > IEF_PLUS_OPCODE< / span > < span class = cF0 > )
< a name = "l101" > < / a > o1 & = -< / span > < span class = cFE > 8< / span > < span class = cF0 > ;
< a name = "l102" > < / a > o2 = tmpins-> opcode[n++];
< a name = "l103" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (m = o1 - o2)
< a name = "l104" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
< a name = "l105" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l106" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l107" > < / a > < / span > < span class = cF1 > switch< / span > < span class = cF0 > [tmpins-> uasm_slash_val]
< a name = "l108" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l109" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cFE > 0< / span > < span class = cF0 > ...< / span > < span class = cFE > 7< / span > < span class = cF0 > :
< a name = "l110" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!< / span > < span class = cF7 > (< / span > < span class = cF0 > m = rip[n] > > < / span > < span class = cFE > 3< / span > < span class = cF0 > & < / span > < span class = cFE > 7< / span > < span class = cF0 > - tmpins-> slash_val< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l111" > < / a > {
< a name = "l112" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF7 > (< / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cFB > uasm< / span > < span class = cF0 > .mem_arg_mask, arg1) || < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cFB > uasm< / span > < span class = cF0 > .mem_arg_mask, arg2)< / span > < span class = cF7 > )< / span > < span class = cF0 > & & rip[n] & < / span > < span class = cFE > 0xC0< / span > < span class = cF0 > == < / span > < span class = cFE > 0xC0< / span > < span class = cF0 > )
< a name = "l113" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l114" > < / a > m = < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l115" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
< a name = "l116" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l117" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opsize == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l118" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l119" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> flags & < / span > < span class = cF3 > IEF_OP_SIZE32< / span > < span class = cF0 > )
< a name = "l120" > < / a > {
< a name = "l121" > < / a > m = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l122" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
< a name = "l123" > < / a > }
< a name = "l124" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l125" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l126" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l127" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> flags & < / span > < span class = cF3 > IEF_OP_SIZE16< / span > < span class = cF0 > )
< a name = "l128" > < / a > {
< a name = "l129" > < / a > m = < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l130" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
< a name = "l131" > < / a > }
< a name = "l132" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l133" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opsize == < / span > < span class = cFE > 64< / span > < span class = cF0 > || arg1 == < / span > < span class = cF3 > ARGT_M64< / span > < span class = cF0 > || arg2 == < / span > < span class = cF3 > ARGT_M64< / span > < span class = cF0 > )
< a name = "l134" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l135" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!< / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, arg1< / span > < span class = cF7 > )< / span > < span class = cF0 > & & !< / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, arg2< / span > < span class = cF7 > )< / span > < span class = cF0 > & &
< a name = "l136" > < / a > !< / span > < span class = cF7 > (< / span > < span class = cF0 > tmpins-> flags & < / span > < span class = cF3 > IEF_48_REX< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l137" > < / a > m = < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l138" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l139" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l140" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l141" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, arg1< / span > < span class = cF7 > )< / span > < span class = cF0 > || < / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, arg2< / span > < span class = cF7 > )< / span > < span class = cF0 > ||
< a name = "l142" > < / a > tmpins-> flags & < / span > < span class = cF3 > IEF_48_REX< / span > < span class = cF0 > )
< a name = "l143" > < / a > m = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l144" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l145" > < / a > }
< a name = "l146" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF7 > (< / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cFB > uasm< / span > < span class = cF0 > .mem_arg_mask, arg1) || < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cFB > uasm< / span > < span class = cF0 > .mem_arg_mask, arg2)< / span > < span class = cF7 > )< / span > < span class = cF0 > & & rip[n] & < / span > < span class = cFE > 0xC0< / span > < span class = cF0 > == < / span > < span class = cFE > 0xC0< / span > < span class = cF0 > )
< a name = "l147" > < / a > m = < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l148" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
2021-07-03 05:07:57 +01:00
< a name = "l149" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l150" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > SV_I_REG< / span > < span class = cF0 > :
< a name = "l151" > < / a > m = rip[n] > > < / span > < span class = cFE > 3< / span > < span class = cF0 > - tmpins-> opcode[tmpins-> opcode_count - < / span > < span class = cFE > 1< / span > < span class = cF0 > ] > > < / span > < span class = cFE > 3< / span > < span class = cF0 > ;
< a name = "l152" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
2021-07-03 05:07:57 +01:00
< a name = "l153" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l154" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > SV_STI_LIKE< / span > < span class = cF0 > :
< a name = "l155" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!< / span > < span class = cF7 > (< / span > < span class = cF0 > m = rip[n] > > < / span > < span class = cFE > 3< / span > < span class = cF0 > - tmpins-> opcode[tmpins-> opcode_count - < / span > < span class = cFE > 1< / span > < span class = cF0 > ] > > < / span > < span class = cFE > 3< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l156" > < / a > m = rip[n] - tmpins-> opcode[tmpins-> opcode_count - < / span > < span class = cFE > 1< / span > < span class = cF0 > ];
< a name = "l157" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
2021-07-03 05:07:57 +01:00
< a name = "l158" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l159" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > SV_R_REG< / span > < span class = cF0 > :
< a name = "l160" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > SV_NONE< / span > < span class = cF0 > :
< a name = "l161" > < / a > m = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l162" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opsize == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l163" > < / a > {
< a name = "l164" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> flags & < / span > < span class = cF3 > IEF_OP_SIZE32< / span > < span class = cF0 > )
< a name = "l165" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l166" > < / a > m = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l167" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
< a name = "l168" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l169" > < / a > }
< a name = "l170" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l171" > < / a > {
< a name = "l172" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> flags & < / span > < span class = cF3 > IEF_OP_SIZE16< / span > < span class = cF0 > )
< a name = "l173" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l174" > < / a > m = < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l175" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
< a name = "l176" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l177" > < / a > }
< a name = "l178" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opsize == < / span > < span class = cFE > 64< / span > < span class = cF0 > || arg1 == < / span > < span class = cF3 > ARGT_M64< / span > < span class = cF0 > || arg2 == < / span > < span class = cF3 > ARGT_M64< / span > < span class = cF0 > )
< a name = "l179" > < / a > {
< a name = "l180" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!< / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, arg1< / span > < span class = cF7 > )< / span > < span class = cF0 > & & !< / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, arg2< / span > < span class = cF7 > )< / span > < span class = cF0 > & &
< a name = "l181" > < / a > !< / span > < span class = cF7 > (< / span > < span class = cF0 > tmpins-> flags & < / span > < span class = cF3 > IEF_48_REX< / span > < span class = cF7 > )< / span > < span class = cF0 > & & !< / span > < span class = cF7 > (< / span > < span class = cF0 > arg2 == < / span > < span class = cF3 > ARGT_NONE< / span > < span class = cF0 > & &
< a name = "l182" > < / a > (< / span > < span class = cF3 > ARGT_UIMM8< / span > < span class = cF0 > < = arg1 < = < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > || < / span > < span class = cF3 > ARGT_IMM8< / span > < span class = cF0 > < = arg1 < = < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > )< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l183" > < / a > m = < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l184" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> arg2 == < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > || tmpins-> arg2 == < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > )
< a name = "l185" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l186" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg2 != < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > & & arg2 != < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > )
< a name = "l187" > < / a > m = < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l188" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l189" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg2 == < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > || arg2 == < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > )
< a name = "l190" > < / a > m = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l191" > < / a > }
< a name = "l192" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l193" > < / a > {
< a name = "l194" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, arg1< / span > < span class = cF7 > )< / span > < span class = cF0 > || < / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask, arg2< / span > < span class = cF7 > )< / span > < span class = cF0 > ||
< a name = "l195" > < / a > tmpins-> flags & < / span > < span class = cF3 > IEF_48_REX< / span > < span class = cF0 > )
< a name = "l196" > < / a > m = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l197" > < / a > }
< a name = "l198" > < / a > < / span > < span class = cF1 > goto< / span > < span class = cF0 > ief_compare_done;
< a name = "l199" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l200" > < / a > }
2021-07-03 05:07:57 +01:00
< a name = "l201" > < / a > ief_compare_done:
2021-07-04 23:11:34 +01:00
< a name = "l202" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (m > < / span > < span class = cFE > 0< / span > < span class = cF0 > )
< a name = "l203" > < / a > {
< a name = "l204" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (k == i)
< a name = "l205" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l206" > < / a > k = j;
< a name = "l207" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l208" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l209" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l210" > < / a > i = k;
< a name = "l211" > < / a > }
< a name = "l212" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (m < < / span > < span class = cFE > 0< / span > < span class = cF0 > )
< a name = "l213" > < / a > {
< a name = "l214" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (k - i < = < / span > < span class = cFE > 1< / span > < span class = cF0 > )
< a name = "l215" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l216" > < / a > k = i;
< a name = "l217" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l218" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l219" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l220" > < / a > j = k;
< a name = "l221" > < / a > }
< a name = "l222" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l223" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l224" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l225" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > table[k];
2021-07-03 05:07:57 +01:00
< a name = "l226" > < / a > }
< a name = "l227" > < / a >
< a name = "l228" > < / a > < / span > < span class = cF1 > U0< / span > < span class = cF0 > < / span > < span class = cFD > UAsmHashLoad< / span > < span class = cF0 > ()
< a name = "l229" > < / a > {
2021-07-04 23:11:34 +01:00
< a name = "l230" > < / a > < / span > < span class = cF9 > CHashOpcode< / span > < span class = cF0 > *tmph;
< a name = "l231" > < / a > < / span > < span class = cF9 > CInst< / span > < span class = cF0 > *tmpins;
< a name = "l232" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > i, j1, j2, k;
2021-07-03 05:07:57 +01:00
< a name = "l233" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l234" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .ins64_arg_mask = < / span > < span class = cFE > 0x0880888880< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_ST0< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_STI< / span > < span class = cF0 > ;
< a name = "l235" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .signed_arg_mask = < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_REL8< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_REL16< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_REL32< / span > < span class = cF0 > +
< a name = "l236" > < / a > < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_IMM8< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_IMM16< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_IMM32< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > ;
< a name = "l237" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .mem_arg_mask = < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_M8< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_M16< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_M32< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > < < < / span > < span class = cF3 > ARGT_M64< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l238" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l239" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32_entries = < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64_entries = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l240" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (i = < / span > < span class = cFE > 0< / span > < span class = cF0 > ; i < = < / span > < span class = cFB > cmp< / span > < span class = cF0 > .asm_hash-> mask; i++)
< a name = "l241" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l242" > < / a > tmph = < / span > < span class = cFB > cmp< / span > < span class = cF0 > .asm_hash-> body[i];
< a name = "l243" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (tmph)
< a name = "l244" > < / a > {
< a name = "l245" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmph-> type == < / span > < span class = cF3 > HTT_OPCODE< / span > < span class = cF0 > & & !< / span > < span class = cF7 > (< / span > < span class = cF0 > tmph-> oc_flags & < / span > < span class = cF3 > OCF_ALIAS< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l246" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l247" > < / a > tmpins = & tmph-> ins;
< a name = "l248" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (k = < / span > < span class = cFE > 0< / span > < span class = cF0 > ; k < tmph-> inst_entry_count; k++)
< a name = "l249" > < / a > {
< a name = "l250" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32_entries++;
< a name = "l251" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!< / span > < span class = cF7 > (< / span > < span class = cF0 > tmpins-> flags & < / span > < span class = cF3 > IEF_NOT_IN_64_BIT< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l252" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64_entries++;
< a name = "l253" > < / a > tmpins++;
< a name = "l254" > < / a > }
< a name = "l255" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l256" > < / a > tmph = tmph-> next;
< a name = "l257" > < / a > }
< a name = "l258" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l259" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l260" > < / a > j1 = j2 = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l261" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32 = < / span > < span class = cF5 > MAlloc< / span > < span class = cF0 > (< / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32_entries * < / span > < span class = cF1 > sizeof< / span > < span class = cF7 > (< / span > < span class = cF1 > U8< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > );
< a name = "l262" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64 = < / span > < span class = cF5 > MAlloc< / span > < span class = cF0 > (< / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64_entries * < / span > < span class = cF1 > sizeof< / span > < span class = cF7 > (< / span > < span class = cF1 > U8< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > );
< a name = "l263" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (i = < / span > < span class = cFE > 0< / span > < span class = cF0 > ; i < = < / span > < span class = cFB > cmp< / span > < span class = cF0 > .asm_hash-> mask; i++)
< a name = "l264" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l265" > < / a > tmph = < / span > < span class = cFB > cmp< / span > < span class = cF0 > .asm_hash-> body[i];
< a name = "l266" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (tmph)
< a name = "l267" > < / a > {
< a name = "l268" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmph-> type == < / span > < span class = cF3 > HTT_OPCODE< / span > < span class = cF0 > & & !< / span > < span class = cF7 > (< / span > < span class = cF0 > tmph-> oc_flags & < / span > < span class = cF3 > OCF_ALIAS< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l269" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l270" > < / a > tmpins = & tmph-> ins;
< a name = "l271" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (k = < / span > < span class = cFE > 0< / span > < span class = cF0 > ; k < tmph-> inst_entry_count; k++)
< a name = "l272" > < / a > {
< a name = "l273" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32[j1++] = tmpins;
< a name = "l274" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!< / span > < span class = cF7 > (< / span > < span class = cF0 > tmpins-> flags & < / span > < span class = cF3 > IEF_NOT_IN_64_BIT< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l275" > < / a > < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64[j2++] = tmpins;
< a name = "l276" > < / a > tmpins++;
< a name = "l277" > < / a > }
< a name = "l278" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l279" > < / a > tmph = tmph-> next;
< a name = "l280" > < / a > }
< a name = "l281" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l282" > < / a > < / span > < span class = cF5 > QuickSortI64< / span > < span class = cF0 > (< / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32, < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_16_32_entries, & < / span > < span class = cFD > InstEntriesCompare< / span > < span class = cF0 > );
< a name = "l283" > < / a > < / span > < span class = cF5 > QuickSortI64< / span > < span class = cF0 > (< / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64 , < / span > < span class = cFB > uasm< / span > < span class = cF0 > .table_64_entries , & < / span > < span class = cFD > InstEntriesCompare< / span > < span class = cF0 > );
2021-07-03 05:07:57 +01:00
< a name = "l284" > < / a > }
< a name = "l285" > < / a >
< a name = "l286" > < / a > < / span > < span class = cF1 > U0< / span > < span class = cF0 > < / span > < span class = cF5 > Ui< / span > < span class = cF0 > (< / span > < span class = cF1 > U8< / span > < span class = cF0 > *buf, < / span > < span class = cF1 > U8< / span > < span class = cF0 > **_rip, < / span > < span class = cF9 > I64< / span > < span class = cF0 > seg_size=< / span > < span class = cFE > 64< / span > < span class = cF0 > , < / span > < span class = cF9 > I64< / span > < span class = cF0 > *_jmp_dst=< / span > < span class = cF3 > NULL< / span > < span class = cF0 > , < / span > < span class = cF1 > Bool< / span > < span class = cF0 > just_ins=< / span > < span class = cF3 > FALSE< / span > < span class = cF0 > )
2021-07-06 03:57:12 +01:00
< a name = "l287" > < / a > {< / span > < span class = cF2 > //Unassembles one instruction< / span > < span class = cF0 >
2021-07-04 23:11:34 +01:00
< a name = "l288" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > i, disp, imm, opsize, opadd, arg1, arg2, reloced_arg1, reloced_arg2,
< a name = "l289" > < / a > arg1_size = < / span > < span class = cFE > 0< / span > < span class = cF0 > , arg2_size = < / span > < span class = cFE > 0< / span > < span class = cF0 > , reloced_arg1_size, reloced_arg2_size,
< a name = "l290" > < / a > ModrM = -< / span > < span class = cFE > 1< / span > < span class = cF0 > , SIB = -< / span > < span class = cFE > 1< / span > < span class = cF0 > , scale, r1, r2, Mod = -< / span > < span class = cFE > 1< / span > < span class = cF0 > , RM1 = -< / span > < span class = cFE > 1< / span > < span class = cF0 > , RM2 = -< / span > < span class = cFE > 1< / span > < span class = cF0 > , < / span > < span class = cF1 > REX< / span > < span class = cF0 > = -< / span > < span class = cFE > 1< / span > < span class = cF0 > , REX_r = < / span > < span class = cFE > 0< / span > < span class = cF0 > , REX_x = < / span > < span class = cFE > 0< / span > < span class = cF0 > , REX_b = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l291" > < / a > < / span > < span class = cF1 > Bool< / span > < span class = cF0 > cont;
< a name = "l292" > < / a > < / span > < span class = cF9 > CInst< / span > < span class = cF0 > *tmpins, *tmpins2;
< a name = "l293" > < / a > < / span > < span class = cF9 > CHashOpcode< / span > < span class = cF0 > *tmpo;
< a name = "l294" > < / a > < / span > < span class = cF1 > U8< / span > < span class = cF0 > *rip = *_rip, *ptr, *reloced_arg1_st, *reloced_arg2_st, *bin_data_area1, *bin_data_area2,
< a name = "l295" > < / a > line1[< / span > < span class = cFE > 512< / span > < span class = cF0 > ], line2[< / span > < span class = cFE > 512< / span > < span class = cF0 > ], buf2[< / span > < span class = cFE > 512< / span > < span class = cF0 > ], arg1_st[< / span > < span class = cFE > 512< / span > < span class = cF0 > ], arg2_st[< / span > < span class = cFE > 512< / span > < span class = cF0 > ], seg_overrides[< / span > < span class = cFE > 32< / span > < span class = cF0 > ];
2021-07-03 05:07:57 +01:00
< a name = "l296" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l297" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (_jmp_dst)
< a name = "l298" > < / a > *_jmp_dst = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l299" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (seg_size == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l300" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l301" > < / a > opsize = < / span > < span class = cFE > 16< / span > < span class = cF0 > ;
< a name = "l302" > < / a > opadd = < / span > < span class = cFE > 16< / span > < span class = cF0 > ;
< a name = "l303" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l304" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (seg_size == < / span > < span class = cFE > 32< / span > < span class = cF0 > )
< a name = "l305" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l306" > < / a > opsize = < / span > < span class = cFE > 32< / span > < span class = cF0 > ;
< a name = "l307" > < / a > opadd = < / span > < span class = cFE > 32< / span > < span class = cF0 > ;
< a name = "l308" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l309" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l310" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l311" > < / a > opsize = < / span > < span class = cFE > 32< / span > < span class = cF0 > ;
< a name = "l312" > < / a > opadd = < / span > < span class = cFE > 64< / span > < span class = cF0 > ;
< a name = "l313" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l314" > < / a > *arg1_st = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l315" > < / a > *arg2_st = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l316" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!< / span > < span class = cF5 > IsRaw< / span > < span class = cF0 > & & < / span > < span class = cF5 > PutSrcLink< / span > < span class = cF7 > (< / span > < span class = cF0 > rip, < / span > < span class = cFE > 1< / span > < span class = cF0 > , line1< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l317" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line1, < / span > < span class = cF6 > " \n" < / span > < span class = cF0 > );
< a name = "l318" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l319" > < / a > *line1 = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l320" > < / a >
2021-07-14 23:38:02 +01:00
< a name = "l321" > < / a > < / span > < span class = cF5 > StrPrint< / span > < span class = cF0 > (line1 + < / span > < span class = cF5 > StrLen< / span > < span class = cF7 > (< / span > < span class = cF0 > line1< / span > < span class = cF7 > )< / span > < span class = cF0 > , < / span > < span class = cF6 > " %24tp 0x" < / span > < span class = cF0 > , rip);
2021-07-04 23:11:34 +01:00
< a name = "l322" > < / a > bin_data_area1 = line1 + < / span > < span class = cF5 > StrLen< / span > < span class = cF0 > (line1);
< a name = "l323" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (i = < / span > < span class = cFE > 0< / span > < span class = cF0 > ; i < < / span > < span class = cFE > 6< / span > < span class = cF0 > ; i++)
< a name = "l324" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line1, < / span > < span class = cF6 > " %02X" < / span > < span class = cF0 > , rip[i]);
< a name = "l325" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line1, < / span > < span class = cF6 > " " < / span > < span class = cF0 > );
2021-07-03 05:07:57 +01:00
< a name = "l326" > < / a >
2021-07-14 23:38:02 +01:00
< a name = "l327" > < / a > < / span > < span class = cF5 > StrPrint< / span > < span class = cF0 > (line2, < / span > < span class = cF6 > " %24tp 0x" < / span > < span class = cF0 > , rip + < / span > < span class = cFE > 6< / span > < span class = cF0 > );
2021-07-04 23:11:34 +01:00
< a name = "l328" > < / a > bin_data_area2 = line2 + < / span > < span class = cF5 > StrLen< / span > < span class = cF0 > (line2);
< a name = "l329" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (i = < / span > < span class = cFE > 6< / span > < span class = cF0 > ; i < < / span > < span class = cFE > 12< / span > < span class = cF0 > ; i++)
< a name = "l330" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line2, < / span > < span class = cF6 > " %02X" < / span > < span class = cF0 > , rip[i]);
2021-07-03 05:07:57 +01:00
< a name = "l331" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l332" > < / a > *seg_overrides = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l333" > < / a > cont = < / span > < span class = cF3 > TRUE< / span > < span class = cF0 > ;
< a name = "l334" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (< / span > < span class = cF3 > TRUE< / span > < span class = cF0 > )
< a name = "l335" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l336" > < / a > < / span > < span class = cF1 > switch< / span > < span class = cF0 > (*rip)
< a name = "l337" > < / a > {
< a name = "l338" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cFE > 0x2E< / span > < span class = cF0 > :
< a name = "l339" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > StrLen< / span > < span class = cF7 > (< / span > < span class = cF0 > seg_overrides< / span > < span class = cF7 > )< / span > < span class = cF0 > < < / span > < span class = cFE > 24< / span > < span class = cF0 > )
< a name = "l340" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (seg_overrides, < / span > < span class = cF6 > " CS:" < / span > < span class = cF0 > );
< a name = "l341" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l342" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l343" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cFE > 0x36< / span > < span class = cF0 > :
< a name = "l344" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > StrLen< / span > < span class = cF7 > (< / span > < span class = cF0 > seg_overrides< / span > < span class = cF7 > )< / span > < span class = cF0 > < < / span > < span class = cFE > 24< / span > < span class = cF0 > )
< a name = "l345" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (seg_overrides, < / span > < span class = cF6 > " SS:" < / span > < span class = cF0 > );
< a name = "l346" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l347" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l348" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cFE > 0x3E< / span > < span class = cF0 > :
< a name = "l349" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > StrLen< / span > < span class = cF7 > (< / span > < span class = cF0 > seg_overrides< / span > < span class = cF7 > )< / span > < span class = cF0 > < < / span > < span class = cFE > 24< / span > < span class = cF0 > )
< a name = "l350" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (seg_overrides, < / span > < span class = cF6 > " DS:" < / span > < span class = cF0 > );
< a name = "l351" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l352" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l353" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cFE > 0x26< / span > < span class = cF0 > :
< a name = "l354" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > StrLen< / span > < span class = cF7 > (< / span > < span class = cF0 > seg_overrides< / span > < span class = cF7 > )< / span > < span class = cF0 > < < / span > < span class = cFE > 24< / span > < span class = cF0 > )
< a name = "l355" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (seg_overrides, < / span > < span class = cF6 > " ES:" < / span > < span class = cF0 > );
< a name = "l356" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l357" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l358" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cFE > 0x64< / span > < span class = cF0 > :
< a name = "l359" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > StrLen< / span > < span class = cF7 > (< / span > < span class = cF0 > seg_overrides< / span > < span class = cF7 > )< / span > < span class = cF0 > < < / span > < span class = cFE > 24< / span > < span class = cF0 > )
< a name = "l360" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (seg_overrides, < / span > < span class = cF6 > " FS:" < / span > < span class = cF0 > );
< a name = "l361" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l362" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l363" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cFE > 0x65< / span > < span class = cF0 > :
< a name = "l364" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > StrLen< / span > < span class = cF7 > (< / span > < span class = cF0 > seg_overrides< / span > < span class = cF7 > )< / span > < span class = cF0 > < < / span > < span class = cFE > 24< / span > < span class = cF0 > )
< a name = "l365" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (seg_overrides, < / span > < span class = cF6 > " GS:" < / span > < span class = cF0 > );
< a name = "l366" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l367" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l368" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > OC_OP_SIZE_PREFIX< / span > < span class = cF0 > :
< a name = "l369" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opsize == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l370" > < / a > opsize = < / span > < span class = cFE > 32< / span > < span class = cF0 > ;
< a name = "l371" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l372" > < / a > opsize = < / span > < span class = cFE > 16< / span > < span class = cF0 > ;
< a name = "l373" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l374" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l375" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > OC_ADDR_SIZE_PREFIX< / span > < span class = cF0 > :
< a name = "l376" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opadd == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l377" > < / a > opadd = < / span > < span class = cFE > 32< / span > < span class = cF0 > ;
< a name = "l378" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l379" > < / a > opadd = < / span > < span class = cFE > 16< / span > < span class = cF0 > ;
< a name = "l380" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
2021-07-03 05:07:57 +01:00
< a name = "l381" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l382" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cFE > 0x40< / span > < span class = cF0 > ...< / span > < span class = cFE > 0x4F< / span > < span class = cF0 > :
< a name = "l383" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (seg_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l384" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l385" > < / a > < / span > < span class = cF1 > REX< / span > < span class = cF0 > = *rip;
< a name = "l386" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF1 > REX< / span > < span class = cF0 > > = < / span > < span class = cFE > 0x48< / span > < span class = cF0 > )
< a name = "l387" > < / a > opsize = < / span > < span class = cFE > 64< / span > < span class = cF0 > ;
< a name = "l388" > < / a > REX_b = < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cF1 > REX< / span > < span class = cF0 > , < / span > < span class = cFE > 0< / span > < span class = cF0 > ) < < < / span > < span class = cFE > 3< / span > < span class = cF0 > ;
< a name = "l389" > < / a > REX_x = < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cF1 > REX< / span > < span class = cF0 > , < / span > < span class = cFE > 1< / span > < span class = cF0 > ) < < < / span > < span class = cFE > 3< / span > < span class = cF0 > ;
< a name = "l390" > < / a > REX_r = < / span > < span class = cF5 > Bt< / span > < span class = cF0 > (& < / span > < span class = cF1 > REX< / span > < span class = cF0 > , < / span > < span class = cFE > 2< / span > < span class = cF0 > ) < < < / span > < span class = cFE > 3< / span > < span class = cF0 > ;
< a name = "l391" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l392" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 > < / span > < span class = cF2 > //Fall thru if !64< / span > < span class = cF0 >
< a name = "l393" > < / a > < / span > < span class = cF1 > default< / span > < span class = cF0 > :
< a name = "l394" > < / a > cont = < / span > < span class = cF3 > FALSE< / span > < span class = cF0 > ;
< a name = "l395" > < / a > }
< a name = "l396" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (cont)
< a name = "l397" > < / a > rip++;
< a name = "l398" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l399" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l400" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l401" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l402" > < / a > tmpins = < / span > < span class = cFD > InstEntryFind< / span > < span class = cF0 > (rip, opsize, seg_size);
< a name = "l403" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opsize == < / span > < span class = cFE > 32< / span > < span class = cF0 > & & seg_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l404" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l405" > < / a > tmpins2 = < / span > < span class = cFD > InstEntryFind< / span > < span class = cF0 > (rip, < / span > < span class = cFE > 64< / span > < span class = cF0 > , seg_size);
< a name = "l406" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins2 != tmpins & & tmpins2-> flags & < / span > < span class = cF3 > IEF_REX_ONLY_R8_R15< / span > < span class = cF0 > || tmpins2-> flags & < / span > < span class = cF3 > IEF_REX_XOR_LIKE< / span > < span class = cF0 > & &
< a name = "l407" > < / a > rip[< / span > < span class = cFE > 1< / span > < span class = cF0 > ] > > < / span > < span class = cFE > 3< / span > < span class = cF0 > & < / span > < span class = cFE > 7< / span > < span class = cF0 > == rip[< / span > < span class = cFE > 1< / span > < span class = cF0 > ] & < / span > < span class = cFE > 7< / span > < span class = cF0 > )
< a name = "l408" > < / a > tmpins = tmpins2;
< a name = "l409" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
2021-07-03 05:07:57 +01:00
< a name = "l410" > < / a >
2021-07-04 23:11:34 +01:00
< a name = "l411" > < / a > rip += tmpins-> opcode_count;
2021-07-14 23:38:02 +01:00
< a name = "l412" > < / a > tmpo = tmpins(< / span > < span class = cF1 > U8< / span > < span class = cF0 > *) - tmpins-> ins_entry_num * < / span > < span class = cF1 > sizeof< / span > < span class = cF0 > (< / span > < span class = cF9 > CInst< / span > < span class = cF0 > ) - < / span > < span class = cF1 > offset< / span > < span class = cF0 > (< / span > < span class = cF9 > CHashOpcode< / span > < span class = cF0 > .ins);
< a name = "l413" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (just_ins)
< a name = "l414" > < / a > *line1 = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l415" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line1, tmpo-> str);
< a name = "l416" > < / a >
< a name = "l417" > < / a > arg1 = tmpins-> arg1;
< a name = "l418" > < / a > arg2 = tmpins-> arg2;
< a name = "l419" > < / a >
< a name = "l420" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg1_size = tmpins-> size1)
< a name = "l421" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l422" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .signed_arg_mask, arg1< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l423" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " I%d " < / span > < span class = cF0 > , arg1_size);
< a name = "l424" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l425" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " U%d " < / span > < span class = cF0 > , arg1_size);
< a name = "l426" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l427" > < / a >
< a name = "l428" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg2_size = tmpins-> size2)
< a name = "l429" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l430" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > Bt< / span > < span class = cF7 > (< / span > < span class = cF0 > & < / span > < span class = cFB > uasm< / span > < span class = cF0 > .signed_arg_mask, arg2< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l431" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " I%d " < / span > < span class = cF0 > , arg2_size);
< a name = "l432" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l433" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " U%d " < / span > < span class = cF0 > , arg2_size);
< a name = "l434" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l435" > < / a >
< a name = "l436" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> flags & < / span > < span class = cF3 > IEF_PLUS_OPCODE< / span > < span class = cF0 > )
< a name = "l437" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l438" > < / a > rip--;
< a name = "l439" > < / a > RM1 = *rip++ - tmpins-> opcode[tmpins-> opcode_count - < / span > < span class = cFE > 1< / span > < span class = cF0 > ] + REX_b;
< a name = "l440" > < / a > ptr = < / span > < span class = cF3 > NULL< / span > < span class = cF0 > ;
< a name = "l441" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF3 > ARGT_R8< / span > < span class = cF0 > < = arg1 < = < / span > < span class = cF3 > ARGT_R64< / span > < span class = cF0 > )
< a name = "l442" > < / a > {
< a name = "l443" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg1_size == < / span > < span class = cFE > 8< / span > < span class = cF0 > )
< a name = "l444" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l445" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF1 > REX< / span > < span class = cF0 > != -< / span > < span class = cFE > 1< / span > < span class = cF0 > )
< a name = "l446" > < / a > ptr = < / span > < span class = cF6 > " ST_U8_REX_REGS" < / span > < span class = cF0 > ;
< a name = "l447" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l448" > < / a > ptr = < / span > < span class = cF6 > " ST_U8_REGS" < / span > < span class = cF0 > ;
< a name = "l449" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l450" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg1_size == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l451" > < / a > ptr = < / span > < span class = cF6 > " ST_U16_REGS" < / span > < span class = cF0 > ;
< a name = "l452" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg1_size == < / span > < span class = cFE > 32< / span > < span class = cF0 > )
< a name = "l453" > < / a > ptr=< / span > < span class = cF6 > " ST_U32_REGS" < / span > < span class = cF0 > ;
< a name = "l454" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg1_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l455" > < / a > ptr = < / span > < span class = cF6 > " ST_U64_REGS" < / span > < span class = cF0 > ;
< a name = "l456" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (ptr)
< a name = "l457" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " %Z" < / span > < span class = cF0 > , RM1, ptr);
< a name = "l458" > < / a > }
< a name = "l459" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l460" > < / a > {
< a name = "l461" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg2_size == < / span > < span class = cFE > 8< / span > < span class = cF0 > )
< a name = "l462" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l463" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF1 > REX< / span > < span class = cF0 > != -< / span > < span class = cFE > 1< / span > < span class = cF0 > )
< a name = "l464" > < / a > ptr = < / span > < span class = cF6 > " ST_U8_REX_REGS" < / span > < span class = cF0 > ;
< a name = "l465" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l466" > < / a > ptr = < / span > < span class = cF6 > " ST_U8_REGS" < / span > < span class = cF0 > ;
< a name = "l467" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l468" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg2_size == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l469" > < / a > ptr = < / span > < span class = cF6 > " ST_U16_REGS" < / span > < span class = cF0 > ;
< a name = "l470" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg2_size == < / span > < span class = cFE > 32< / span > < span class = cF0 > )
< a name = "l471" > < / a > ptr = < / span > < span class = cF6 > " ST_U32_REGS" < / span > < span class = cF0 > ;
< a name = "l472" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg2_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l473" > < / a > ptr = < / span > < span class = cF6 > " ST_U64_REGS" < / span > < span class = cF0 > ;
< a name = "l474" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (ptr)
< a name = "l475" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " %Z" < / span > < span class = cF0 > , RM1, ptr);
< a name = "l476" > < / a > }
< a name = "l477" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l478" > < / a >
< a name = "l479" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF3 > ARGT_RM8< / span > < span class = cF0 > < = arg1 < = < / span > < span class = cF3 > ARGT_RM64< / span > < span class = cF0 > || < / span > < span class = cF3 > ARGT_M8< / span > < span class = cF0 > < = arg1 < = < / span > < span class = cF3 > ARGT_M64< / span > < span class = cF0 > ||
< a name = "l480" > < / a > < / span > < span class = cF3 > ARGT_RM8< / span > < span class = cF0 > < = arg2 < = < / span > < span class = cF3 > ARGT_RM64< / span > < span class = cF0 > || < / span > < span class = cF3 > ARGT_M8< / span > < span class = cF0 > < = arg2 < = < / span > < span class = cF3 > ARGT_M64< / span > < span class = cF0 > )
< a name = "l481" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l482" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF3 > ARGT_RM8< / span > < span class = cF0 > < = arg2 < = < / span > < span class = cF3 > ARGT_RM64< / span > < span class = cF0 > || < / span > < span class = cF3 > ARGT_M8< / span > < span class = cF0 > < = arg2 < = < / span > < span class = cF3 > ARGT_M64< / span > < span class = cF0 > )
< a name = "l483" > < / a > {
< a name = "l484" > < / a > reloced_arg1 = arg2;
< a name = "l485" > < / a > reloced_arg2 = arg1;
< a name = "l486" > < / a > reloced_arg1_size = arg2_size;
< a name = "l487" > < / a > reloced_arg2_size = arg1_size;
< a name = "l488" > < / a > reloced_arg1_st = arg2_st;
< a name = "l489" > < / a > reloced_arg2_st = arg1_st;
< a name = "l490" > < / a > }
< a name = "l491" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l492" > < / a > {
< a name = "l493" > < / a > reloced_arg1 = arg1;
< a name = "l494" > < / a > reloced_arg2 = arg2;
< a name = "l495" > < / a > reloced_arg1_size = arg1_size;
< a name = "l496" > < / a > reloced_arg2_size = arg2_size;
< a name = "l497" > < / a > reloced_arg1_st = arg1_st;
< a name = "l498" > < / a > reloced_arg2_st = arg2_st;
< a name = "l499" > < / a > }
< a name = "l500" > < / a >
< a name = "l501" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, seg_overrides);
< a name = "l502" > < / a > ModrM = *rip++;
< a name = "l503" > < / a > Mod = ModrM > > < / span > < span class = cFE > 6< / span > < span class = cF0 > & < / span > < span class = cFE > 3< / span > < span class = cF0 > ;
< a name = "l504" > < / a > RM1 = ModrM & < / span > < span class = cFE > 7< / span > < span class = cF0 > + REX_b;
< a name = "l505" > < / a > RM2 = ModrM > > < / span > < span class = cFE > 3< / span > < span class = cF0 > & < / span > < span class = cFE > 7< / span > < span class = cF0 > + REX_r;
< a name = "l506" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (Mod < < / span > < span class = cFE > 3< / span > < span class = cF0 > & & RM1 & < / span > < span class = cFE > 7< / span > < span class = cF0 > == < / span > < span class = cFE > 4< / span > < span class = cF0 > )
< a name = "l507" > < / a > SIB = *rip++;
< a name = "l508" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (Mod == < / span > < span class = cFE > 1< / span > < span class = cF0 > ) {
< a name = "l509" > < / a > disp = *rip(< / span > < span class = cF1 > U8< / span > < span class = cF0 > *)++;
< a name = "l510" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, < / span > < span class = cF6 > " 0x%02X" < / span > < span class = cF0 > , disp);
< a name = "l511" > < / a > }
< a name = "l512" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (Mod == < / span > < span class = cFE > 2< / span > < span class = cF0 > )
< a name = "l513" > < / a > {
< a name = "l514" > < / a > disp = *rip(< / span > < span class = cF9 > U32< / span > < span class = cF0 > *)++;
< a name = "l515" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, < / span > < span class = cF6 > " 0x%08X" < / span > < span class = cF0 > , disp);
< a name = "l516" > < / a > }
< a name = "l517" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> slash_val < < / span > < span class = cFE > 8< / span > < span class = cF0 > )
< a name = "l518" > < / a > RM2 = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l519" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l520" > < / a > {
< a name = "l521" > < / a > ptr = < / span > < span class = cF3 > NULL< / span > < span class = cF0 > ;
< a name = "l522" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2 == < / span > < span class = cF3 > ARGT_SREG< / span > < span class = cF0 > )
< a name = "l523" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l524" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (RM2 < = < / span > < span class = cFE > 5< / span > < span class = cF0 > )
< a name = "l525" > < / a > ptr = < / span > < span class = cF6 > " ST_SEG_REGS" < / span > < span class = cF0 > ;
< a name = "l526" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l527" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!< / span > < span class = cF7 > (< / span > < span class = cF3 > ARGT_IMM8< / span > < span class = cF0 > < = reloced_arg2 < = < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF7 > )< / span > < span class = cF0 > & & !< / span > < span class = cF7 > (< / span > < span class = cF3 > ARGT_UIMM8< / span > < span class = cF0 > < = reloced_arg2 < = < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l528" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l529" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2_size == < / span > < span class = cFE > 8< / span > < span class = cF0 > )
< a name = "l530" > < / a > {
< a name = "l531" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF1 > REX< / span > < span class = cF0 > != -< / span > < span class = cFE > 1< / span > < span class = cF0 > )
< a name = "l532" > < / a > ptr = < / span > < span class = cF6 > " ST_U8_REX_REGS" < / span > < span class = cF0 > ;
< a name = "l533" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l534" > < / a > ptr = < / span > < span class = cF6 > " ST_U8_REGS" < / span > < span class = cF0 > ;
< a name = "l535" > < / a > }
< a name = "l536" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2_size == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l537" > < / a > ptr = < / span > < span class = cF6 > " ST_U16_REGS" < / span > < span class = cF0 > ;
< a name = "l538" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2_size == < / span > < span class = cFE > 32< / span > < span class = cF0 > )
< a name = "l539" > < / a > ptr = < / span > < span class = cF6 > " ST_U32_REGS" < / span > < span class = cF0 > ;
< a name = "l540" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l541" > < / a > ptr = < / span > < span class = cF6 > " ST_U64_REGS" < / span > < span class = cF0 > ;
< a name = "l542" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l543" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (ptr)
< a name = "l544" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg2_st, < / span > < span class = cF6 > " %Z" < / span > < span class = cF0 > , RM2, ptr);
< a name = "l545" > < / a > }
< a name = "l546" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (RM1 & < / span > < span class = cFE > 7< / span > < span class = cF0 > == < / span > < span class = cFE > 5< / span > < span class = cF0 > & & !Mod)
< a name = "l547" > < / a > {
< a name = "l548" > < / a > disp = *rip(< / span > < span class = cF9 > I32< / span > < span class = cF0 > *)++;
< a name = "l549" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (seg_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l550" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l551" > < / a > disp += rip;
< a name = "l552" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2 == < / span > < span class = cF3 > ARGT_IMM8< / span > < span class = cF0 > || reloced_arg2 == < / span > < span class = cF3 > ARGT_UIMM8< / span > < span class = cF0 > )
< a name = "l553" > < / a > disp++;
< a name = "l554" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2 == < / span > < span class = cF3 > ARGT_IMM16< / span > < span class = cF0 > || reloced_arg2 == < / span > < span class = cF3 > ARGT_UIMM16< / span > < span class = cF0 > )
< a name = "l555" > < / a > disp += < / span > < span class = cFE > 2< / span > < span class = cF0 > ;
< a name = "l556" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2 == < / span > < span class = cF3 > ARGT_IMM32< / span > < span class = cF0 > || reloced_arg2 == < / span > < span class = cF3 > ARGT_UIMM32< / span > < span class = cF0 > )
< a name = "l557" > < / a > disp += < / span > < span class = cFE > 4< / span > < span class = cF0 > ;
< a name = "l558" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg2 == < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > || reloced_arg2 == < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > )
< a name = "l559" > < / a > disp += < / span > < span class = cFE > 8< / span > < span class = cF0 > ;
< a name = "l560" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l561" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, < / span > < span class = cF6 > " [%X]" < / span > < span class = cF0 > , disp);
< a name = "l562" > < / a > RM1 = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l563" > < / a > }
< a name = "l564" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l565" > < / a > {
< a name = "l566" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (Mod < < / span > < span class = cFE > 3< / span > < span class = cF0 > )
< a name = "l567" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l568" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (RM1 & < / span > < span class = cFE > 7< / span > < span class = cF0 > == < / span > < span class = cFE > 4< / span > < span class = cF0 > )
< a name = "l569" > < / a > {
< a name = "l570" > < / a > RM1 = -< / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l571" > < / a > r1 = SIB & < / span > < span class = cFE > 7< / span > < span class = cF0 > + REX_b;
< a name = "l572" > < / a > r2 = SIB > > < / span > < span class = cFE > 3< / span > < span class = cF0 > & < / span > < span class = cFE > 7< / span > < span class = cF0 > + REX_x;
< a name = "l573" > < / a > scale = SIB > > < / span > < span class = cFE > 6< / span > < span class = cF0 > & < / span > < span class = cFE > 3< / span > < span class = cF0 > ;
< a name = "l574" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (scale == < / span > < span class = cFE > 3< / span > < span class = cF0 > )
< a name = "l575" > < / a > scale = < / span > < span class = cFE > 8< / span > < span class = cF0 > ;
< a name = "l576" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (scale == < / span > < span class = cFE > 2< / span > < span class = cF0 > )
< a name = "l577" > < / a > scale = < / span > < span class = cFE > 4< / span > < span class = cF0 > ;
< a name = "l578" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (scale == < / span > < span class = cFE > 1< / span > < span class = cF0 > )
< a name = "l579" > < / a > scale = < / span > < span class = cFE > 2< / span > < span class = cF0 > ;
< a name = "l580" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l581" > < / a > scale = < / span > < span class = cFE > 1< / span > < span class = cF0 > ;
< a name = "l582" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (seg_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l583" > < / a > ptr = < / span > < span class = cF6 > " ST_U64_REGS" < / span > < span class = cF0 > ;
< a name = "l584" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l585" > < / a > ptr = < / span > < span class = cF6 > " ST_U32_REGS" < / span > < span class = cF0 > ;
< a name = "l586" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (r1 == < / span > < span class = cF3 > REG_RBP< / span > < span class = cF0 > & & !Mod)
< a name = "l587" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l588" > < / a > disp = *rip(< / span > < span class = cF9 > U32< / span > < span class = cF0 > *)++;
< a name = "l589" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, < / span > < span class = cF6 > " 0x%08X[%Z*%d]" < / span > < span class = cF0 > , disp, r2, ptr, scale);
< a name = "l590" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l591" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (r2 == < / span > < span class = cFE > 4< / span > < span class = cF0 > )
< a name = "l592" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, < / span > < span class = cF6 > " [%Z]" < / span > < span class = cF0 > , r1, ptr);
< a name = "l593" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l594" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, < / span > < span class = cF6 > " [%Z+%Z*%d]" < / span > < span class = cF0 > , r1, ptr, r2, ptr, scale);
< a name = "l595" > < / a > }
< a name = "l596" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l597" > < / a > {
< a name = "l598" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opadd == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l599" > < / a > ptr = < / span > < span class = cF6 > " ST_U16_REGS" < / span > < span class = cF0 > ;
< a name = "l600" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opadd == < / span > < span class = cFE > 32< / span > < span class = cF0 > )
< a name = "l601" > < / a > ptr = < / span > < span class = cF6 > " ST_U32_REGS" < / span > < span class = cF0 > ;
< a name = "l602" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l603" > < / a > ptr = < / span > < span class = cF6 > " ST_U64_REGS" < / span > < span class = cF0 > ;
< a name = "l604" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, < / span > < span class = cF6 > " [%Z]" < / span > < span class = cF0 > , RM1, ptr);
< a name = "l605" > < / a > }
< a name = "l606" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l607" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l608" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l609" > < / a > ptr = < / span > < span class = cF3 > NULL< / span > < span class = cF0 > ;
< a name = "l610" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg1_size == < / span > < span class = cFE > 8< / span > < span class = cF0 > )
< a name = "l611" > < / a > {
< a name = "l612" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF1 > REX< / span > < span class = cF0 > != -< / span > < span class = cFE > 1< / span > < span class = cF0 > )
< a name = "l613" > < / a > ptr = < / span > < span class = cF6 > " ST_U8_REX_REGS" < / span > < span class = cF0 > ;
< a name = "l614" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l615" > < / a > ptr = < / span > < span class = cF6 > " ST_U8_REGS" < / span > < span class = cF0 > ;
< a name = "l616" > < / a > }
< a name = "l617" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg1_size == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l618" > < / a > ptr = < / span > < span class = cF6 > " ST_U16_REGS" < / span > < span class = cF0 > ;
< a name = "l619" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg1_size == < / span > < span class = cFE > 32< / span > < span class = cF0 > )
< a name = "l620" > < / a > ptr = < / span > < span class = cF6 > " ST_U32_REGS" < / span > < span class = cF0 > ;
< a name = "l621" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (reloced_arg1_size == < / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l622" > < / a > ptr = < / span > < span class = cF6 > " ST_U64_REGS" < / span > < span class = cF0 > ;
< a name = "l623" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (ptr)
< a name = "l624" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (reloced_arg1_st, < / span > < span class = cF5 > DefineSub< / span > < span class = cF7 > (< / span > < span class = cF0 > RM1, ptr< / span > < span class = cF7 > )< / span > < span class = cF0 > );
< a name = "l625" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l626" > < / a > }
< a name = "l627" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l628" > < / a >
< a name = "l629" > < / a > < / span > < span class = cF1 > switch< / span > < span class = cF0 > (arg1)
< a name = "l630" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l631" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_IMM8< / span > < span class = cF0 > :
< a name = "l632" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_UIMM8< / span > < span class = cF0 > :
< a name = "l633" > < / a > imm = *rip(< / span > < span class = cF1 > U8< / span > < span class = cF0 > *)++;
< a name = "l634" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " 0x%02X" < / span > < span class = cF0 > , imm);
< a name = "l635" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> opcode[< / span > < span class = cFE > 0< / span > < span class = cF0 > ] == < / span > < span class = cFE > 0xCD< / span > < span class = cF0 > & & < / span > < span class = cF7 > (< / span > < span class = cF0 > ptr = < / span > < span class = cF5 > DefineSub< / span > < span class = cF0 > (imm, < / span > < span class = cF6 > " ST_INT_NAMES" < / span > < span class = cF0 > )< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l636" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " %s" < / span > < span class = cF0 > , ptr);
< a name = "l637" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l638" > < / a >
< a name = "l639" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_IMM16< / span > < span class = cF0 > :
< a name = "l640" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_UIMM16< / span > < span class = cF0 > :
< a name = "l641" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " 0x%04X" < / span > < span class = cF0 > , *rip< / span > < span class = cF7 > (< / span > < span class = cF9 > U16< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > ++);
< a name = "l642" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l643" > < / a >
< a name = "l644" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_IMM32< / span > < span class = cF0 > :
< a name = "l645" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_UIMM32< / span > < span class = cF0 > :
< a name = "l646" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " 0x%08X" < / span > < span class = cF0 > , *rip< / span > < span class = cF7 > (< / span > < span class = cF9 > U32< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > ++);
< a name = "l647" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l648" > < / a >
< a name = "l649" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > :
< a name = "l650" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > :
< a name = "l651" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " 0x%016X" < / span > < span class = cF0 > , *rip< / span > < span class = cF7 > (< / span > < span class = cF9 > I64< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > ++);
< a name = "l652" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l653" > < / a > < / span > < span class = cF1 > start< / span > < span class = cF0 > :
< a name = "l654" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_REL8< / span > < span class = cF0 > :
< a name = "l655" > < / a > disp = *rip(< / span > < span class = cF1 > I8< / span > < span class = cF0 > *)++;
< a name = "l656" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l657" > < / a >
< a name = "l658" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_REL16< / span > < span class = cF0 > :
< a name = "l659" > < / a > disp = *rip(< / span > < span class = cF9 > I16< / span > < span class = cF0 > *)++;
< a name = "l660" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l661" > < / a >
< a name = "l662" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_REL32< / span > < span class = cF0 > :
< a name = "l663" > < / a > disp = *rip(< / span > < span class = cF9 > I32< / span > < span class = cF0 > *)++;
< a name = "l664" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l665" > < / a > < / span > < span class = cF1 > end< / span > < span class = cF0 > :
< a name = "l666" > < / a > disp += rip;
< a name = "l667" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > IsDebugMode< / span > < span class = cF0 > )
< a name = "l668" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " %p " < / span > < span class = cF0 > , disp);
< a name = "l669" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (< / span > < span class = cF5 > PutSrcLink< / span > < span class = cF7 > (< / span > < span class = cF0 > disp, < / span > < span class = cFE > 512< / span > < span class = cF0 > , buf2< / span > < span class = cF7 > )< / span > < span class = cF0 > )
< a name = "l670" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " %s " < / span > < span class = cF0 > , buf2);
< a name = "l671" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l672" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " %P " < / span > < span class = cF0 > , disp);
< a name = "l673" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (_jmp_dst)
< a name = "l674" > < / a > *_jmp_dst = disp;
< a name = "l675" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l676" > < / a >
< a name = "l677" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_MOFFS8< / span > < span class = cF0 > ...< / span > < span class = cF3 > ARGT_MOFFS64< / span > < span class = cF0 > :
< a name = "l678" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, seg_overrides);
< a name = "l679" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg1_size == < / span > < span class = cFE > 8< / span > < span class = cF0 > )
< a name = "l680" > < / a > disp = *rip(< / span > < span class = cF1 > U8< / span > < span class = cF0 > *)++;
< a name = "l681" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opadd == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l682" > < / a > disp = *rip(< / span > < span class = cF9 > U16< / span > < span class = cF0 > *)++;
< a name = "l683" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l684" > < / a > disp = *rip(< / span > < span class = cF9 > U32< / span > < span class = cF0 > *)++;
< a name = "l685" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " [0x%X]" < / span > < span class = cF0 > ,disp);
< a name = "l686" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l687" > < / a >
< a name = "l688" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_AL< / span > < span class = cF0 > ... < / span > < span class = cF3 > ARGT_DX< / span > < span class = cF0 > :
< a name = "l689" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_SS< / span > < span class = cF0 > ... < / span > < span class = cF3 > ARGT_ST0< / span > < span class = cF0 > :
< a name = "l690" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " %z" < / span > < span class = cF0 > , arg1 - < / span > < span class = cF3 > ARGT_AL< / span > < span class = cF0 > , < / span > < span class = cF6 > " AL\0AX\0EAX\0RAX\0CL\0DX\0 \0 \0SS\0DS\0ES\0FS\0GS\0CS\0ST0\0" < / span > < span class = cF0 > );
< a name = "l691" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l692" > < / a >
< a name = "l693" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_STI< / span > < span class = cF0 > :
< a name = "l694" > < / a > rip--;
< a name = "l695" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg1_st, < / span > < span class = cF6 > " %Z" < / span > < span class = cF0 > , *rip++ - tmpins-> opcode[tmpins-> opcode_count - < / span > < span class = cFE > 1< / span > < span class = cF0 > ], < / span > < span class = cF6 > " ST_FSTACK_REGS" < / span > < span class = cF0 > );
< a name = "l696" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l697" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l698" > < / a >
< a name = "l699" > < / a > < / span > < span class = cF1 > switch< / span > < span class = cF0 > (arg2)
< a name = "l700" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l701" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_IMM8< / span > < span class = cF0 > :
< a name = "l702" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_UIMM8< / span > < span class = cF0 > :
< a name = "l703" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " 0x%02X" < / span > < span class = cF0 > , *rip< / span > < span class = cF7 > (< / span > < span class = cF1 > U8< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > ++);
< a name = "l704" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l705" > < / a >
< a name = "l706" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_IMM16< / span > < span class = cF0 > :
< a name = "l707" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_UIMM16< / span > < span class = cF0 > :
< a name = "l708" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " 0x%04X" < / span > < span class = cF0 > , *rip< / span > < span class = cF7 > (< / span > < span class = cF9 > U16< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > ++);
< a name = "l709" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l710" > < / a >
< a name = "l711" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_IMM32< / span > < span class = cF0 > :
< a name = "l712" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_UIMM32< / span > < span class = cF0 > :
< a name = "l713" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " 0x%08X" < / span > < span class = cF0 > , *rip< / span > < span class = cF7 > (< / span > < span class = cF9 > U32< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > ++);
< a name = "l714" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l715" > < / a >
< a name = "l716" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_IMM64< / span > < span class = cF0 > :
< a name = "l717" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_UIMM64< / span > < span class = cF0 > :
< a name = "l718" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " 0x%016X" < / span > < span class = cF0 > , *rip< / span > < span class = cF7 > (< / span > < span class = cF9 > I64< / span > < span class = cF0 > *< / span > < span class = cF7 > )< / span > < span class = cF0 > ++);
< a name = "l719" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l720" > < / a >
< a name = "l721" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_MOFFS8< / span > < span class = cF0 > ...< / span > < span class = cF3 > ARGT_MOFFS64< / span > < span class = cF0 > :
< a name = "l722" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, seg_overrides);
< a name = "l723" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (arg2_size == < / span > < span class = cFE > 8< / span > < span class = cF0 > )
< a name = "l724" > < / a > disp = *rip(< / span > < span class = cF1 > U8< / span > < span class = cF0 > *)++;
< a name = "l725" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 > < / span > < span class = cF1 > if< / span > < span class = cF0 > (opadd == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l726" > < / a > disp = *rip(< / span > < span class = cF9 > U16< / span > < span class = cF0 > *)++;
< a name = "l727" > < / a > < / span > < span class = cF1 > else< / span > < span class = cF0 >
< a name = "l728" > < / a > disp = *rip(< / span > < span class = cF9 > U32< / span > < span class = cF0 > *)++;
< a name = "l729" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " [0x%X]" < / span > < span class = cF0 > , disp);
< a name = "l730" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l731" > < / a >
< a name = "l732" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_AL< / span > < span class = cF0 > ... < / span > < span class = cF3 > ARGT_DX< / span > < span class = cF0 > :
< a name = "l733" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_SS< / span > < span class = cF0 > ... < / span > < span class = cF3 > ARGT_ST0< / span > < span class = cF0 > :
< a name = "l734" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " %z" < / span > < span class = cF0 > ,arg2 - < / span > < span class = cF3 > ARGT_AL< / span > < span class = cF0 > , < / span > < span class = cF6 > " AL\0AX\0EAX\0RAX\0CL\0DX\0 \0 \0SS\0DS\0ES\0FS\0GS\0CS\0ST0\0" < / span > < span class = cF0 > );
< a name = "l735" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l736" > < / a >
< a name = "l737" > < / a > < / span > < span class = cF1 > case< / span > < span class = cF0 > < / span > < span class = cF3 > ARGT_STI< / span > < span class = cF0 > :
< a name = "l738" > < / a > rip--;
< a name = "l739" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (arg2_st, < / span > < span class = cF6 > " %Z" < / span > < span class = cF0 > , *rip++ - tmpins-> opcode[tmpins-> opcode_count - < / span > < span class = cFE > 1< / span > < span class = cF0 > ], < / span > < span class = cF6 > " ST_FSTACK_REGS" < / span > < span class = cF0 > );
< a name = "l740" > < / a > < / span > < span class = cF1 > break< / span > < span class = cF0 > ;
< a name = "l741" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l742" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (tmpins-> flags & < / span > < span class = cF3 > IEF_ENDING_ZERO< / span > < span class = cF0 > )
< a name = "l743" > < / a > rip++;
< a name = "l744" > < / a >
< a name = "l745" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (*arg1_st)
2021-09-26 06:15:46 +01:00
< a name = "l746" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l747" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line1, < / span > < span class = cF6 > " %h*c" < / span > < span class = cF0 > , < / span > < span class = cFE > 6< / span > < span class = cF0 > - < / span > < span class = cF5 > StrLen< / span > < span class = cF7 > (< / span > < span class = cF0 > tmpo-> str< / span > < span class = cF7 > )< / span > < span class = cF0 > , < / span > < span class = cF6 > ' '< / span > < span class = cF0 > );
Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-07 02:35:32 +01:00
< a name = "l748" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line1, < / span > < span class = cF6 > " %s" < / span > < span class = cF0 > , arg1_st);
2021-09-26 06:15:46 +01:00
< a name = "l749" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l750" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (*arg2_st)
< a name = "l751" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line1, < / span > < span class = cF6 > " , %s" < / span > < span class = cF0 > , arg2_st);
< a name = "l752" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line1, < / span > < span class = cF6 > " \n" < / span > < span class = cF0 > );
< a name = "l753" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (line2, < / span > < span class = cF6 > " \n" < / span > < span class = cF0 > );
< a name = "l754" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!just_ins)
< a name = "l755" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l756" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (i = rip - < / span > < span class = cF7 > (< / span > < span class = cF0 > *_rip< / span > < span class = cF7 > )(< / span > < span class = cF9 > I64< / span > < span class = cF7 > )< / span > < span class = cF0 > ; i < < / span > < span class = cFE > 6< / span > < span class = cF0 > ; i++)
< a name = "l757" > < / a > {
< a name = "l758" > < / a > bin_data_area1[i < < < / span > < span class = cFE > 1< / span > < span class = cF0 > ] = < / span > < span class = cF3 > CH_SPACE< / span > < span class = cF0 > ;
< a name = "l759" > < / a > bin_data_area1[i < < < / span > < span class = cFE > 1< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > ] = < / span > < span class = cF3 > CH_SPACE< / span > < span class = cF0 > ;
< a name = "l760" > < / a > }
< a name = "l761" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (i = rip - < / span > < span class = cF7 > (< / span > < span class = cF0 > *_rip< / span > < span class = cF7 > )(< / span > < span class = cF9 > I64< / span > < span class = cF7 > )< / span > < span class = cF0 > ; i < < / span > < span class = cFE > 12< / span > < span class = cF0 > ; i++)
< a name = "l762" > < / a > {
< a name = "l763" > < / a > bin_data_area2[(i - < / span > < span class = cFE > 6< / span > < span class = cF0 > ) < < < / span > < span class = cFE > 1< / span > < span class = cF0 > ] = < / span > < span class = cF3 > CH_SPACE< / span > < span class = cF0 > ;
< a name = "l764" > < / a > bin_data_area2[(i - < / span > < span class = cFE > 6< / span > < span class = cF0 > ) < < < / span > < span class = cFE > 1< / span > < span class = cF0 > + < / span > < span class = cFE > 1< / span > < span class = cF0 > ] = < / span > < span class = cF3 > CH_SPACE< / span > < span class = cF0 > ;
< a name = "l765" > < / a > }
< a name = "l766" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l767" > < / a > < / span > < span class = cF5 > StrCopy< / span > < span class = cF0 > (buf, line1);
< a name = "l768" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (!just_ins & & rip - < / span > < span class = cF7 > (< / span > < span class = cF0 > *_rip< / span > < span class = cF7 > )(< / span > < span class = cF9 > I64< / span > < span class = cF7 > )< / span > < span class = cF0 > > < / span > < span class = cFE > 6< / span > < span class = cF0 > )
< a name = "l769" > < / a > < / span > < span class = cF5 > CatPrint< / span > < span class = cF0 > (buf, line2);
< a name = "l770" > < / a > *_rip = rip;
< a name = "l771" > < / a > }
< a name = "l772" > < / a >
< a name = "l773" > < / a > < / span > < span class = cF1 > U8< / span > < span class = cF0 > *< / span > < span class = cF5 > U< / span > < span class = cF0 > (< / span > < span class = cF1 > U8< / span > < span class = cF0 > *rip, < / span > < span class = cF9 > I64< / span > < span class = cF0 > count=< / span > < span class = cFE > 20< / span > < span class = cF0 > , < / span > < span class = cF9 > I64< / span > < span class = cF0 > seg_size=< / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l774" > < / a > {< / span > < span class = cF2 > //Unassembles a num of insts.< / span > < span class = cF0 >
< a name = "l775" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > i;
< a name = "l776" > < / a > < / span > < span class = cF1 > U8< / span > < span class = cF0 > buf[< / span > < span class = cFE > 1024< / span > < span class = cF0 > ];
< a name = "l777" > < / a >
< a name = "l778" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (seg_size == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l779" > < / a > < / span > < span class = cF5 > PrintWarn< / span > < span class = cF0 > (< / span > < span class = cF6 > " 16-bit unassembly is not well supported.\n" < / span > < span class = cF0 > );
< a name = "l780" > < / a > < / span > < span class = cF6 > " $HL,1$\n" < / span > < span class = cF0 > ;
< a name = "l781" > < / a > < / span > < span class = cF1 > for< / span > < span class = cF0 > (i = < / span > < span class = cFE > 0< / span > < span class = cF0 > ; i < count; i++)
< a name = "l782" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l783" > < / a > < / span > < span class = cF5 > Ui< / span > < span class = cF0 > (buf, & rip, seg_size);
< a name = "l784" > < / a > < / span > < span class = cF6 > " %s" < / span > < span class = cF0 > , buf;
< a name = "l785" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l786" > < / a > < / span > < span class = cF6 > " $HL,0$\n" < / span > < span class = cF0 > ;
2021-07-14 23:38:02 +01:00
< a name = "l787" > < / a >
2021-09-26 06:15:46 +01:00
< a name = "l788" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > rip;
< a name = "l789" > < / a > }
< a name = "l790" > < / a >
< a name = "l791" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > < / span > < span class = cF5 > Un< / span > < span class = cF0 > (< / span > < span class = cF1 > U8< / span > < span class = cF0 > *rip, < / span > < span class = cF9 > I64< / span > < span class = cF0 > count=< / span > < span class = cFE > 0x80< / span > < span class = cF0 > , < / span > < span class = cF9 > I64< / span > < span class = cF0 > seg_size=< / span > < span class = cFE > 64< / span > < span class = cF0 > )
< a name = "l792" > < / a > {< / span > < span class = cF2 > //Unassembles a num of bytes< / span > < span class = cF0 >
< a name = "l793" > < / a > < / span > < span class = cF9 > I64< / span > < span class = cF0 > i = < / span > < span class = cFE > 0< / span > < span class = cF0 > ;
< a name = "l794" > < / a > < / span > < span class = cF1 > U8< / span > < span class = cF0 > buf[< / span > < span class = cFE > 1024< / span > < span class = cF0 > ], *end_rip = rip(< / span > < span class = cF9 > I64< / span > < span class = cF0 > ) + count;
< a name = "l795" > < / a >
< a name = "l796" > < / a > < / span > < span class = cF1 > if< / span > < span class = cF0 > (seg_size == < / span > < span class = cFE > 16< / span > < span class = cF0 > )
< a name = "l797" > < / a > < / span > < span class = cF5 > PrintWarn< / span > < span class = cF0 > (< / span > < span class = cF6 > " 16-bit unassembly is not well supported.\n" < / span > < span class = cF0 > );
< a name = "l798" > < / a > < / span > < span class = cF6 > " $HL,1$\n" < / span > < span class = cF0 > ;
< a name = "l799" > < / a > < / span > < span class = cF1 > while< / span > < span class = cF0 > (rip < end_rip)
< a name = "l800" > < / a > < / span > < span class = cF7 > {< / span > < span class = cF0 >
< a name = "l801" > < / a > < / span > < span class = cF5 > Ui< / span > < span class = cF0 > (buf, & rip, seg_size);
< a name = "l802" > < / a > < / span > < span class = cF6 > " %s" < / span > < span class = cF0 > , buf;
< a name = "l803" > < / a > i++;
< a name = "l804" > < / a > < / span > < span class = cF7 > }< / span > < span class = cF0 >
< a name = "l805" > < / a > < / span > < span class = cF6 > " $HL,0$\n" < / span > < span class = cF0 > ;
< a name = "l806" > < / a >
< a name = "l807" > < / a > < / span > < span class = cF1 > return< / span > < span class = cF0 > i;
< a name = "l808" > < / a > }
2021-07-03 05:07:57 +01:00
< / span > < / pre > < / body >
< / html >