TempleOSCDV4.06.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:47:19 +02:00
1 parent 6fe38d2d9d
commit b632ab9a4f
261 files changed
+6282 -5801

No files matched your search

+16 -16
View File
@@ -1,40 +1,40 @@
I64 InstEntriesCompare(CInst *tempi1,CInst *tempi2)
{
I64 i1,i2,j=0,result=0,oc_cnt1=tempi1->opcode_cnt,oc_cnt2=tempi2->opcode_cnt;
I64 i1,i2,j=0,res=0,oc_cnt1=tempi1->opcode_cnt,oc_cnt2=tempi2->opcode_cnt;
if (tempi1->flags&IEF_STI_LIKE)
oc_cnt1--;
if (tempi2->flags&IEF_STI_LIKE)
oc_cnt2--;
while (TRUE) {
if (j<oc_cnt1 && j<oc_cnt2) {
if (result=tempi1->opcode[j]-tempi2->opcode[j])
return result;
if (res=tempi1->opcode[j]-tempi2->opcode[j])
return res;
j++;
} else {
if (result=oc_cnt1-oc_cnt2)
return result;
if (res=oc_cnt1-oc_cnt2)
return res;
if (tempi1->flags&IEF_STI_LIKE && tempi2->flags&IEF_STI_LIKE)
return tempi1->opcode[j]-tempi2->opcode[j];
if (result=tempi1->flags&IEF_STI_LIKE - tempi2->flags&IEF_STI_LIKE)
return result;
if (res=tempi1->flags&IEF_STI_LIKE - tempi2->flags&IEF_STI_LIKE)
return res;
if (result=tempi1->slash_val-tempi2->slash_val)
return result;
if (res=tempi1->slash_val-tempi2->slash_val)
return res;
if (result=tempi1->flags&IEF_OP_SIZE32 - tempi2->flags&IEF_OP_SIZE32)
return result;
if (res=tempi1->flags&IEF_OP_SIZE32 - tempi2->flags&IEF_OP_SIZE32)
return res;
i1=Bt(&uasm.ins64_arg_mask,tempi1->arg1) ||
Bt(&uasm.ins64_arg_mask,tempi1->arg2);
i2=Bt(&uasm.ins64_arg_mask,tempi2->arg1) ||
Bt(&uasm.ins64_arg_mask,tempi2->arg2);
if (result=i1-i2)
return result;
if (res=i1-i2)
return res;
if (result=tempi1->flags&IEF_48_REX - tempi2->flags&IEF_48_REX)
return result;
if (res=tempi1->flags&IEF_48_REX - tempi2->flags&IEF_48_REX)
return res;
i1=tempi1->arg2==ARGT_IMM64 || tempi1->arg2==ARGT_UIMM64;
i2=tempi2->arg2==ARGT_IMM64 || tempi2->arg2==ARGT_UIMM64;
@@ -150,7 +150,7 @@ CInst *InstEntryFind(U8 *ip,I64 opsize,I64 seg_size)
}
if (opsize==64 || a1==ARGT_M64 || a2==ARGT_M64) {
if (!Bt(&uasm.ins64_arg_mask,a1) &&!Bt(&uasm.ins64_arg_mask,a2) &&
!(tempi->flags&IEF_48_REX)&& !(a2==ARGT_NO &&
!(tempi->flags&IEF_48_REX)&& !(a2==ARGT_NONE &&
(ARGT_UIMM8<=a1<=ARGT_UIMM64 || ARGT_IMM8<=a1<=ARGT_IMM64)))
m=1;
else if (tempi->arg2==ARGT_IMM64 || tempi->arg2==ARGT_UIMM64) {