From 5af78f72cc318de98c7c0bd344d33db0a11a541c Mon Sep 17 00:00:00 2001 From: v0x3l Date: Thu, 5 Mar 2020 17:02:28 -0600 Subject: [PATCH] Clean up ParseAsmInst() --- ...o => Zenith-latest-2020-03-05-17_02_11.iso | Bin 34639872 -> 34641920 bytes src/Compiler/Asm.CC | 829 ++++++++++-------- src/Home/Test.CC | 6 +- src/Kernel/KernelA.HH | 16 +- 4 files changed, 494 insertions(+), 357 deletions(-) rename Zenith-latest-2020-03-04-00_28_36.iso => Zenith-latest-2020-03-05-17_02_11.iso (99%) diff --git a/Zenith-latest-2020-03-04-00_28_36.iso b/Zenith-latest-2020-03-05-17_02_11.iso similarity index 99% rename from Zenith-latest-2020-03-04-00_28_36.iso rename to Zenith-latest-2020-03-05-17_02_11.iso index 9f7e0f3bdc103c001ef222947682eaa9973fd049..1f21804de5bfb671d32b3cd276d9258399eda653 100755 GIT binary patch delta 144561 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
    V~*C2K8CLbYJUXpJi_4%fi<1PLaiF9y9HsnPi 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 BJ%s=O diff --git a/src/Compiler/Asm.CC b/src/Compiler/Asm.CC index 15e041c4..b921b654 100755 --- a/src/Compiler/Asm.CC +++ b/src/Compiler/Asm.CC @@ -286,7 +286,7 @@ I64 AsmMakeArgMask(CCompCtrl *cc, CAsmArg *arg) else { res &= ARGG_R | ARGG_RM | ARGG_M | ARGG_AXCLDX; - if (!arg->indirect) //M8-M64 + if (!arg->indirect) //M8-M128 res &= ~ARGG_M; } @@ -301,7 +301,7 @@ mm_done: return res; } -Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 count,Bool U8_avail) +Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 count,Bool u8_avail) { CAOTCtrl *aotc=cc->aotc; I64 i; @@ -315,7 +315,7 @@ Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 count,Bool U8_avail) AsmUnresolvedAdd(cc,num2->num.machine_code,IET_REL_I8+num2->imm_flag, aotc->rip,num2->rel,num2->num.local_asm_undef_hash, num2->num.global_asm_undef_hash,cc->lex_include_stack->line_num, - U8_avail); + u8_avail); else if (!num2->imm_flag && !(I8_MIN<=num2->num.i<=I8_MAX)) LexExcept(cc,"Branch out of range at "); if (num2->imm_flag) { @@ -342,7 +342,7 @@ Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 count,Bool U8_avail) AsmUnresolvedAdd(cc,num2->num.machine_code,IET_REL_I16+num2->imm_flag, aotc->rip,num2->rel,num2->num.local_asm_undef_hash, num2->num.global_asm_undef_hash,cc->lex_include_stack->line_num, - U8_avail); + u8_avail); else if (!num2->imm_flag && !(I16_MIN<=num2->num.i<=I16_MAX)) LexExcept(cc,"Branch out of range at "); if (num2->imm_flag) { @@ -369,7 +369,7 @@ Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 count,Bool U8_avail) AsmUnresolvedAdd(cc,num2->num.machine_code,IET_REL_I32+num2->imm_flag, aotc->rip,num2->rel,num2->num.local_asm_undef_hash, num2->num.global_asm_undef_hash,cc->lex_include_stack->line_num, - U8_avail); + u8_avail); else if (!num2->imm_flag && !(I32_MIN<=num2->num.i<=I32_MAX)) LexExcept(cc,"Branch out of range at "); if (num2->imm_flag) { @@ -395,7 +395,7 @@ Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 count,Bool U8_avail) AsmUnresolvedAdd(cc,num2->num.machine_code,IET_REL_I64+num2->imm_flag, aotc->rip,num2->rel,num2->num.local_asm_undef_hash, num2->num.global_asm_undef_hash,cc->lex_include_stack->line_num, - U8_avail); + u8_avail); if (num2->imm_flag) { if (num2->num.abs_counts.abs_addres&1) { tmpa=CAlloc(sizeof(CAOTAbsAddr)); @@ -415,7 +415,7 @@ Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 count,Bool U8_avail) } AOTStoreCodeU64(cc,num2->num.i); } - if (U8_avail && !num2->num.local_asm_undef_hash && + if (u8_avail && !num2->num.local_asm_undef_hash && !num2->num.global_asm_undef_hash && !num2->imm_flag && -124<=num2->num.i<=123) { LexWarn(cc,"could use I8 displacement at "); @@ -426,428 +426,563 @@ Bool AsmStoreNum(CCompCtrl *cc,CAsmNum2 *num2,I64 count,Bool U8_avail) return TRUE; } -U8 asm_seg_prefixes[6]={0x26,0x2E,0x36,0x3E,0x64,0x65}; +U8 asm_seg_prefixes[6]={0x26, 0x2E, 0x36, 0x3E, 0x64, 0x65}; -Bool ParseAsmInst(CCompCtrl *cc,CHashOpcode *tmpo,I64 argcount) +Bool ParseAsmInst(CCompCtrl *cc, CHashOpcode *tmpo, I64 argcount) { - CAOTCtrl *aotc=cc->aotc; - I64 i,j,arg1,arg2,om,seg,arg1mask,arg2mask; - CAsmArg *tmpa1,*tmpa2; - Bool ModrM_complete,U8_avail=FALSE,found_second_possible=FALSE; + CAOTCtrl *aotc = cc->aotc; + I64 i, j, arg1, arg2, ocm, seg, arg1mask, arg2mask; + CAsmArg *tmpa1, *tmpa2; + Bool ModrM_complete, u8_avail = FALSE, found_second_possible = FALSE; CInst *tmpins; - CAsmInst cur,best; + CAsmInst cur, best; - best.U8_count=255; - if (argcount>0) - arg1mask=AsmMakeArgMask(cc,&aotc->arg1); - else - arg1mask=1; - if (argcount>1) - arg2mask=AsmMakeArgMask(cc,&aotc->arg2); - else - arg2mask=1; - for (i=0;iinst_entry_count;i++) { - tmpins=&tmpo->ins[i]; - if (tmpins->arg1==ARGt_REL8 || tmpins->arg2==ARGt_REL8) - U8_avail=TRUE; - if (Bt(&arg1mask,tmpins->arg1) && Bt(&arg2mask,tmpins->arg2) && - (!(tmpins->flags&IEF_NOT_IN_64_BIT) || aotc->seg_size!=64)) { - MemSet(&cur,0,sizeof(CAsmInst)); - cur.tmpins=tmpins; - ModrM_complete=FALSE; - cur.is_default=ToBool(tmpins->flags & IEF_DEFAULT); - if (aotc->seg_size==64) { + best.U8_count = 255; + + arg1mask = arg2mask = 1; + + if (argcount > 0) + arg1mask=AsmMakeArgMask(cc, &aotc->arg1); + if (argcount > 1) + arg2mask=AsmMakeArgMask(cc, &aotc->arg2); + + for (i = 0; i < tmpo->inst_entry_count; i++) + { + tmpins = &tmpo->ins[i]; + + if (tmpins->arg1 == ARGt_REL8 || tmpins->arg2 == ARGt_REL8) + u8_avail = TRUE; + + if (Bt(&arg1mask, tmpins->arg1) && Bt(&arg2mask, tmpins->arg2) && (!(tmpins->flags & IEF_NOT_IN_64_BIT) || aotc->seg_size != 64)) + { + MemSet(&cur, 0, sizeof(CAsmInst)); + cur.tmpins = tmpins; + ModrM_complete = FALSE; + cur.is_default = ToBool(tmpins->flags & IEF_DEFAULT); + + if (aotc->seg_size == 64) + { if (tmpins->flags & IEF_48_REX) - cur.REX=0x48; + cur.REX = 0x48; else - cur.REX=0x40; - } - cur.disp.imm_flag=TRUE; - cur.imm.imm_flag=TRUE; - om=tmpins->opcode_modifier; - arg1=tmpins->arg1; - arg2=tmpins->arg2; - tmpa1=&aotc->arg1; - tmpa2=&aotc->arg2; - cur.last_opcode_U8=tmpins->opcode[tmpins->opcode_count-1]; - - if (tmpins->slash_val<8) { - cur.ModrM|=tmpins->slash_val<<3; - cur.has_ModrM=TRUE; + cur.REX = 0x40; } - if (aotc->seg_size==16 && tmpins->flags & IEF_OP_SIZE32 || - aotc->seg_size!=16 && tmpins->flags & IEF_OP_SIZE16) - cur.has_operand_prefix=TRUE; + cur.disp.imm_flag = TRUE; + cur.imm.imm_flag = TRUE; + ocm = tmpins->opcode_modifier; + arg1 = tmpins->arg1; + arg2 = tmpins->arg2; + tmpa1 = &aotc->arg1; + tmpa2 = &aotc->arg2; + cur.last_opcode_U8 = tmpins->opcode[tmpins->opcode_count - 1]; - if (om==OCM_IB) cur.imm.U8_count=1; - else if (om==OCM_IW) cur.imm.U8_count=2; - else if (om==OCM_ID) cur.imm.U8_count=4; - - if (om==OCM_CB) { - cur.imm.U8_count=1; - cur.imm.imm_flag=FALSE; - } else if (om==OCM_CW) { - cur.imm.U8_count=2; - cur.imm.imm_flag=FALSE; - } else if (om==OCM_CD) { - cur.imm.U8_count=4; - cur.imm.imm_flag=FALSE; + if (tmpins->slash_val < 8) + { + cur.ModrM |= tmpins->slash_val << 3; + cur.has_ModrM = TRUE; } - if (argcount==1) { - if (best.U8_count!=255 && !found_second_possible && !best.is_default) { - found_second_possible=TRUE; + if (aotc->seg_size == 16 && tmpins->flags & IEF_OP_SIZE32 || aotc->seg_size!=16 && tmpins->flags & IEF_OP_SIZE16) + cur.has_operand_prefix = TRUE; + + switch (ocm) + { + case OCM_CB: + cur.imm.imm_flag = FALSE; + case OCM_IB: + cur.imm.U8_count = 1; + break; + case OCM_CW: + cur.imm.imm_flag = FALSE; + case OCM_IW: + cur.imm.U8_count = 2; + break; + case OCM_CD: + cur.imm.imm_flag = FALSE; + case OCM_ID: + cur.imm.U8_count = 4; + } + + if (argcount == 1) + { + if (best.U8_count != 255 && !found_second_possible && !best.is_default) + { + found_second_possible = TRUE; + if (!aotc->arg1.size) - PrintWarn("no size specified at %s,%04d\n", - cc->lex_include_stack->full_name, - cc->lex_include_stack->line_num-1); + PrintWarn("no size specified at %s : Line %04d\n", cc->lex_include_stack->full_name, cc->lex_include_stack->line_num - 1); } - if (tmpins->flags & IEF_PLUS_OPCODE) { - if (tmpins->slash_val==SV_R_REG) { - cur.last_opcode_U8|=tmpa1->reg1&7; - if (tmpa1->reg1&15>7) - cur.REX|=1; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - } else {//SV_I_REG - if (tmpa1->reg1_type==REGT_FSTACK) - cur.last_opcode_U8+=tmpa1->reg1; - } - } - if (arg1==ARGt_R64 || arg1==ARGt_RM64 || arg1==ARGt_M64) - cur.REX|=8; - if (ARGt_RM8<=arg1<=ARGt_XMM128 || ARGt_M8<=arg1<=ARGt_M128) { - if (aotc->seg_size==16) - cur.has_addr_prefix=TRUE; - cur.has_ModrM=TRUE; - if (tmpa1->imm_or_off_present && tmpa1->indirect && - tmpa1->reg1==REG_NONE) { - cur.ModrM=cur.ModrM+5; - MemCopy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum)); - cur.disp.U8_count=4; - if (aotc->seg_size==64) - cur.disp.imm_flag=FALSE; - } else { - if (tmpa1->reg2==REG_NONE && tmpa1->scale==1) { - cur.ModrM|=tmpa1->reg1&7; - if (tmpa1->reg1&15>7) - cur.REX|=1; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - } else { - cur.ModrM|=4; - cur.has_SIB=TRUE; - if (tmpa1->scale==1) - cur.SIB=0; - else if (tmpa1->scale==2) - cur.SIB=0x40; - else if (tmpa1->scale==4) - cur.SIB=0x80; - else if (tmpa1->scale==8) - cur.SIB=0xC0; - if (tmpa1->reg2==REG_NONE) { - ModrM_complete=TRUE; - cur.SIB|=(tmpa1->reg1&7)<<3+REG_RBP; - if (tmpa1->reg1&15>7) - cur.REX|=2; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - MemCopy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum)); - cur.disp.U8_count=4; - } else { - cur.SIB|=(tmpa1->reg1&7)<<3+tmpa1->reg2&7; - if (tmpa1->reg1&15>7) - cur.REX|=2; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - if (tmpa1->reg2&15>7) - cur.REX|=1; - if (tmpa1->reg2>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - if (tmpa1->reg2&7==REG_RBP && - !tmpa1->imm_or_off_present && tmpa1->indirect) { - cur.ModrM|=0x40; - cur.disp.U8_count=1; - ModrM_complete=TRUE; + if (tmpins->flags & IEF_PLUS_OPCODE) + { + if (tmpins->slash_val == SV_R_REG) + { + cur.last_opcode_U8 |= tmpa1->reg1 & 7; + + if (tmpa1->reg1 & 15 > 7) + cur.REX |= 1; + + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + } + else + {//SV_I_REG + if (tmpa1->reg1_type == REGT_FSTACK) + cur.last_opcode_U8 += tmpa1->reg1; + } + } + + if (arg1 == ARGt_R64 || arg1 == ARGt_RM64 || arg1 == ARGt_M64) + cur.REX |= 8; + + if (ARGt_RM8<=arg1<=ARGt_XMM128 || ARGt_M8<=arg1<=ARGt_M128) + { + if (aotc->seg_size == 16) + cur.has_addr_prefix = TRUE; + + cur.has_ModrM = TRUE; + if (tmpa1->imm_or_off_present && tmpa1->indirect && tmpa1->reg1 == REG_NONE) + { + cur.ModrM = cur.ModrM + 5; + MemCopy(&cur.disp.num, &tmpa1->num, sizeof(CAsmNum)); + cur.disp.U8_count = 4; + + if (aotc->seg_size == 64) + cur.disp.imm_flag = FALSE; + } + else + { + if (tmpa1->reg2 == REG_NONE && tmpa1->scale == 1) + { + cur.ModrM |= tmpa1->reg1 & 7; + if (tmpa1->reg1 & 0xF > 7) + cur.REX |= 1; + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + } + else + { + cur.ModrM |= 4; + cur.has_SIB = TRUE; + + if (tmpa1->scale == 1) + cur.SIB = 0; + else if (tmpa1->scale == 2) + cur.SIB = 0x40; + else if (tmpa1->scale == 4) + cur.SIB = 0x80; + else if (tmpa1->scale == 8) + cur.SIB = 0xC0; + + if (tmpa1->reg2 == REG_NONE) + { + ModrM_complete = TRUE; + cur.SIB |= (tmpa1->reg1 & 7) << 3 + REG_RBP; + + if (tmpa1->reg1 & 15 > 7) + cur.REX |= 2; + + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + + MemCopy(&cur.disp.num, &tmpa1->num, sizeof(CAsmNum)); + cur.disp.U8_count = 4; + } + else + { + cur.SIB |= (tmpa1->reg1 & 7) << 3 + tmpa1->reg2 & 7; + + if (tmpa1->reg1 & 0xF > 7) + cur.REX |= 2; + + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + + if (tmpa1->reg2 & 0xF > 7) + cur.REX |= 1; + + if (tmpa1->reg2 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + + if (tmpa1->reg2 & 7 == REG_RBP && !tmpa1->imm_or_off_present && tmpa1->indirect) + { + cur.ModrM |= 0x40; + cur.disp.U8_count = 1; + ModrM_complete = TRUE; } } } - if (!ModrM_complete) { - if (tmpa1->imm_or_off_present) { - MemCopy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum)); - if (!cur.disp.num.machine_code && - I8_MIN<=cur.disp.num.i<=I8_MAX) { - cur.ModrM|=0x40; - cur.disp.U8_count=1; - } else if (aotc->seg_size==16) { - cur.ModrM|=0x80; - cur.disp.U8_count=2; - } else { - cur.ModrM|=0x80; - cur.disp.U8_count=4; + + if (!ModrM_complete) + { + if (tmpa1->imm_or_off_present) + { + MemCopy(&cur.disp.num, &tmpa1->num, sizeof(CAsmNum)); + + if (!cur.disp.num.machine_code && I8_MIN <= cur.disp.num.i <= I8_MAX) + { + cur.ModrM |= 0x40; + cur.disp.U8_count = 1; } - } else if (!tmpa1->indirect) { - cur.has_addr_prefix=FALSE; - cur.ModrM|=0xC0; - } else { - if (tmpa1->reg1&7==REG_RBP) { - cur.ModrM|=0x40; - cur.disp.U8_count=1; + else if (aotc->seg_size == 16) + { + cur.ModrM |= 0x80; + cur.disp.U8_count = 2; + } + else + { + cur.ModrM |= 0x80; + cur.disp.U8_count = 4; + } + } + else if (!tmpa1->indirect) + { + cur.has_addr_prefix = FALSE; + cur.ModrM |= 0xC0; + } + else + { + if (tmpa1->reg1 & 7 == REG_RBP) + { + cur.ModrM |= 0x40; + cur.disp.U8_count = 1; } } } } - } else if (ARGt_REL8<=arg1<=ARGt_REL32 || ARGt_IMM8<=arg1<=ARGt_IMM64 || + } + else if (ARGt_REL8<=arg1<=ARGt_REL32 || ARGt_IMM8<=arg1<=ARGt_IMM64 || ARGt_UIMM8<=arg1<=ARGt_UIMM64) { - if (arg1==ARGt_IMM64 || arg2==ARGt_UIMM64) - cur.REX|=8; - MemCopy(&cur.imm.num,&tmpa1->num,sizeof(CAsmNum)); + if (arg1 == ARGt_IMM64 || arg2 == ARGt_UIMM64) + cur.REX |= 8; + MemCopy(&cur.imm.num, &tmpa1->num, sizeof(CAsmNum)); } - } else if (argcount==2) { - if (best.U8_count!=255 && !found_second_possible && !best.is_default) { - found_second_possible=TRUE; + } + else if (argcount == 2) + { + if (best.U8_count != 255 && !found_second_possible && !best.is_default) + { + found_second_possible = TRUE; if (!aotc->arg1.size && !aotc->arg2.size) - PrintWarn("no size specified at %s,%04d\n", - cc->lex_include_stack->full_name, - cc->lex_include_stack->line_num-1); + PrintWarn("no size specified at %s, %04d\n", cc->lex_include_stack->full_name, cc->lex_include_stack->line_num - 1); } - if (tmpins->flags & IEF_PLUS_OPCODE) { - if (tmpins->slash_val==SV_R_REG) { - if (ARGt_AL<=arg1<=ARGt_RAX) { - cur.last_opcode_U8|=tmpa2->reg1&7; - if (tmpa2->reg1&15>7) - cur.REX|=1; - if (tmpa2->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - } else { - cur.last_opcode_U8|=tmpa1->reg1&7; - if (tmpa1->reg1&15>7) - cur.REX|=1; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; + + if (tmpins->flags & IEF_PLUS_OPCODE) + { + if (tmpins->slash_val == SV_R_REG) + { + if (ARGt_AL<=arg1<=ARGt_RAX) + { + cur.last_opcode_U8 |= tmpa2->reg1 & 7; + + if (tmpa2->reg1 & 0xF > 7) + cur.REX |= 1; + + if (tmpa2->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; } - } else {//SV_I_REG - if (tmpa1->reg1_type==REGT_FSTACK) - cur.last_opcode_U8|=tmpa1->reg1; - if (tmpa2->reg1_type==REGT_FSTACK) - cur.last_opcode_U8|=tmpa2->reg1; + else + { + cur.last_opcode_U8 |= tmpa1->reg1 & 7; + + if (tmpa1->reg1 & 15 > 7) + cur.REX |= 1; + + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + } + } + else + {//SV_I_REG + if (tmpa1->reg1_type == REGT_FSTACK) + cur.last_opcode_U8 |= tmpa1->reg1; + + if (tmpa2->reg1_type == REGT_FSTACK) + cur.last_opcode_U8 |= tmpa2->reg1; } } + if (arg1==ARGt_RM64 || arg2==ARGt_RM64 || arg1==ARGt_M64 || arg2==ARGt_M64 || arg1==ARGt_R64 || arg2==ARGt_R64) - cur.REX|=8; + cur.REX |= 8; + if (ARGt_RM8<=arg1<=ARGt_XMM128 || ARGt_RM8<=arg2<=ARGt_XMM128 || ARGt_M8<=arg1<=ARGt_M128 || ARGt_M8<=arg2<=ARGt_M128) { - if (aotc->seg_size==16) - cur.has_addr_prefix=TRUE; - cur.has_ModrM=TRUE; + if (aotc->seg_size == 16) + cur.has_addr_prefix = TRUE; + cur.has_ModrM = TRUE; + if (ARGt_RM8<=arg2<=ARGt_XMM128 || ARGt_M8<=arg2<=ARGt_M128) { - tmpa1=&aotc->arg2; - tmpa2=&aotc->arg1; + tmpa1 = &aotc->arg2; + tmpa2 = &aotc->arg1; } - if (tmpins->slash_val==SV_R_REG) { + + if (tmpins->slash_val == SV_R_REG) + { if (tmpa2->just_seg) - cur.ModrM|=tmpa2->seg<<3; - else { - if (tmpa2->reg1==REG_NONE) { - cur.ModrM|=(tmpa1->reg1&7)<<3; - if (tmpa1->reg1&15>7) - cur.REX|=4; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - } else { - cur.ModrM|=(tmpa2->reg1&7)<<3; - if (tmpa2->reg1&15>7) - cur.REX|=4; - if (tmpa2->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; + cur.ModrM |= tmpa2->seg << 3; + else + { + if (tmpa2->reg1 == REG_NONE) + { + cur.ModrM |= (tmpa1->reg1 & 7) << 3; + + if (tmpa1->reg1 & 0xF > 7) + cur.REX |= 4; + + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + } + else + { + cur.ModrM |= (tmpa2->reg1 & 7) << 3; + + if (tmpa2->reg1 & 0xF > 7) + cur.REX |= 4; + if (tmpa2->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; } } } - if (tmpa1->reg2==REG_NONE && tmpa1->scale==1) { - if (tmpa1->reg1!=REG_NONE) { - cur.ModrM|=tmpa1->reg1&7; - if (tmpa1->reg1&15>7) - cur.REX|=1; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? + + if (tmpa1->reg2 == REG_NONE && tmpa1->scale == 1) + { + if (tmpa1->reg1 != REG_NONE) + { + cur.ModrM |= tmpa1->reg1 & 7; + + if (tmpa1->reg1 & 15 > 7) + cur.REX |= 1; + + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? cur.has_REX=TRUE; } - } else { - cur.ModrM|=4; - cur.has_SIB=TRUE; - if (tmpa1->scale==1) - cur.SIB=0; - else if (tmpa1->scale==2) - cur.SIB=0x40; - else if (tmpa1->scale==4) - cur.SIB=0x80; - else if (tmpa1->scale==8) - cur.SIB=0xC0; - if (tmpa1->reg2==REG_NONE) { - ModrM_complete=TRUE; - cur.SIB|=(tmpa1->reg1&7)<<3+5; - if (tmpa1->reg1&15>7) - cur.REX|=2; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? + } + else + { + cur.ModrM |= 4; + cur.has_SIB = TRUE; + + switch (tmpa1->scale) + { + case 1: cur.SIB = 0; break; + case 2: cur.SIB = 0x40; break; + case 4: cur.SIB = 0x80; break; + case 8: cur.SIB = 0xC0; break; + } + + if (tmpa1->reg2 == REG_NONE) + { + ModrM_complete = TRUE; + cur.SIB |= (tmpa1->reg1 & 7) << 3 + 5; + if (tmpa1->reg1 & 0xF > 7) + cur.REX |= 2; + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + MemCopy(&cur.disp.num, &tmpa1->num, sizeof(CAsmNum)); + cur.disp.U8_count = 4; + } + else + { + cur.SIB |= (tmpa1->reg1 & 7) << 3 + tmpa1->reg2 & 7; + + if (tmpa1->reg1 & 0xF > 7) + cur.REX |= 2; + + if (tmpa1->reg1 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? + cur.has_REX = TRUE; + + if (tmpa1->reg2 & 15 > 7) + cur.REX |= 1; + + if (tmpa1->reg2 >= 20) //RBPu8, RSPu8, RSIu8, RDIu8? cur.has_REX=TRUE; - MemCopy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum)); - cur.disp.U8_count=4; - } else { - cur.SIB|=(tmpa1->reg1&7)<<3+tmpa1->reg2&7; - if (tmpa1->reg1&15>7) - cur.REX|=2; - if (tmpa1->reg1>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - if (tmpa1->reg2&15>7) - cur.REX|=1; - if (tmpa1->reg2>=20) //RBPu8,RSPu8,RSIu8,RDIu8? - cur.has_REX=TRUE; - if (tmpa1->reg2&7==REG_RBP && - !tmpa1->imm_or_off_present && tmpa1->indirect) { - cur.ModrM|=0x40; - cur.disp.U8_count=1; - ModrM_complete=TRUE; + + if (tmpa1->reg2 & 7 == REG_RBP && !tmpa1->imm_or_off_present && tmpa1->indirect) + { + cur.ModrM |= 0x40; + cur.disp.U8_count = 1; + ModrM_complete = TRUE; } } } - if (!ModrM_complete) { - if (tmpa1->imm_or_off_present && - tmpa1->indirect && tmpa1->reg1==REG_NONE) { - cur.ModrM=cur.ModrM&0xF8+5; - MemCopy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum)); - cur.disp.U8_count=4; - if (aotc->seg_size==64) - cur.disp.imm_flag=FALSE; - } else { - if (tmpa1->imm_or_off_present) { - MemCopy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum)); - if (!cur.disp.num.machine_code && - I8_MIN<=cur.disp.num.i<=I8_MAX) { - cur.ModrM|=0x40; - cur.disp.U8_count=1; - } else if (aotc->seg_size==16) { - cur.ModrM|=0x80; - cur.disp.U8_count=2; - } else { - cur.ModrM|=0x80; - cur.disp.U8_count=4; + + if (!ModrM_complete) + { + if (tmpa1->imm_or_off_present && tmpa1->indirect && tmpa1->reg1 == REG_NONE) + { + cur.ModrM = cur.ModrM & 0xF8 + 5; + MemCopy(&cur.disp.num, &tmpa1->num, sizeof(CAsmNum)); + cur.disp.U8_count = 4; + if (aotc->seg_size == 64) + cur.disp.imm_flag = FALSE; + } + else + { + if (tmpa1->imm_or_off_present) + { + MemCopy(&cur.disp.num, &tmpa1->num, sizeof(CAsmNum)); + + if (!cur.disp.num.machine_code && I8_MIN <= cur.disp.num.i <= I8_MAX) + { + cur.ModrM |= 0x40; + cur.disp.U8_count = 1; } - } else if (!tmpa1->indirect) { - cur.has_addr_prefix=FALSE; - cur.ModrM|=0xC0; - } else { - if (tmpa1->reg1&7==REG_RBP) { - cur.ModrM|=0x40; - cur.disp.U8_count=1; + else if (aotc->seg_size == 16) + { + cur.ModrM |= 0x80; + cur.disp.U8_count = 2; + } + else + { + cur.ModrM |= 0x80; + cur.disp.U8_count = 4; + } + } + else if (!tmpa1->indirect) + { + cur.has_addr_prefix = FALSE; + cur.ModrM |= 0xC0; + } + else + { + if (tmpa1->reg1 & 7 == REG_RBP) + { + cur.ModrM |= 0x40; + cur.disp.U8_count = 1; } } } } - } else if (ARGt_MOFFS8<=arg1<=ARGt_MOFFS64) { - MemCopy(&cur.disp.num,&tmpa1->num,sizeof(CAsmNum)); - if (aotc->seg_size==16) - cur.disp.U8_count=2; + } + else if (ARGt_MOFFS8 <= arg1 <= ARGt_MOFFS64) + { + MemCopy(&cur.disp.num, &tmpa1->num, sizeof(CAsmNum)); + if (aotc->seg_size == 16) + cur.disp.U8_count = 2; else - cur.disp.U8_count=4; - cur.has_addr_prefix=FALSE; - } else if (ARGt_MOFFS8<=arg2<=ARGt_MOFFS64) { - MemCopy(&cur.disp.num,&tmpa2->num,sizeof(CAsmNum)); - if (aotc->seg_size==16) - cur.disp.U8_count=2; + cur.disp.U8_count = 4; + cur.has_addr_prefix = FALSE; + } + else if (ARGt_MOFFS8 <= arg2 <= ARGt_MOFFS64) + { + MemCopy(&cur.disp.num, &tmpa2->num, sizeof(CAsmNum)); + if (aotc->seg_size == 16) + cur.disp.U8_count = 2; else - cur.disp.U8_count=4; - cur.has_addr_prefix=FALSE; - } else if (ARGt_IMM8<=arg1<=ARGt_IMM64 || - ARGt_UIMM8<=arg1<=ARGt_UIMM64) { - MemCopy(&cur.imm.num,&tmpa1->num,sizeof(CAsmNum)); + cur.disp.U8_count = 4; + cur.has_addr_prefix = FALSE; + } + else if (ARGt_IMM8<=arg1<=ARGt_IMM64 || ARGt_UIMM8<=arg1<=ARGt_UIMM64) + { + MemCopy(&cur.imm.num, &tmpa1->num, sizeof(CAsmNum)); if (arg1==ARGt_IMM8 || arg1==ARGt_UIMM8) cur.imm.U8_count=1; else if (arg1==ARGt_IMM16 || arg1==ARGt_UIMM16) cur.imm.U8_count=2; else if (arg1==ARGt_IMM32 || arg1==ARGt_UIMM32) cur.imm.U8_count=4; - else { - cur.imm.U8_count=8; - cur.REX|=8; + else + { + cur.imm.U8_count = 8; + cur.REX |= 8; } } - if (ARGt_IMM8<=arg2<=ARGt_IMM64 || - ARGt_UIMM8<=arg2<=ARGt_UIMM64) { - MemCopy(&cur.imm.num,&tmpa2->num,sizeof(CAsmNum)); + + if (ARGt_IMM8<=arg2<=ARGt_IMM64 || ARGt_UIMM8<=arg2<=ARGt_UIMM64) + { + MemCopy(&cur.imm.num, &tmpa2->num, sizeof(CAsmNum)); + if (arg2==ARGt_IMM8 || arg2==ARGt_UIMM8) cur.imm.U8_count=1; else if (arg2==ARGt_IMM16 || arg2==ARGt_UIMM16) cur.imm.U8_count=2; - else if (arg2==ARGt_IMM32 || arg2==ARGt_UIMM32) { - cur.imm.U8_count=4; + else if (arg2==ARGt_IMM32 || arg2==ARGt_UIMM32) + { + cur.imm.U8_count = 4; + if (tmpins->flags&IEF_REX_ONLY_R8_R15 && arg2==ARGt_UIMM32) - cur.REX&=~8; - } else { - cur.imm.U8_count=8; - cur.REX|=8; + cur.REX &= ~8; + } + else + { + cur.imm.U8_count = 8; + cur.REX |= 8; } } } - cur.U8_count=tmpins->opcode_count+cur.disp.U8_count+cur.imm.U8_count; - if (cur.has_ModrM) cur.U8_count++; - if (cur.has_SIB) cur.U8_count++; - if (aotc->seg_size==64 && cur.REX&0x40==0x40 && - (cur.REX!=0x40 || cur.has_REX) && - (cur.REX&7 || !(tmpins->flags&IEF_REX_ONLY_R8_R15 || - tmpins->flags&IEF_REX_XOR_LIKE && tmpa1->reg1==tmpa2->reg1 && - cur.ModrM&0xC0==0xC0))) + cur.U8_count = tmpins->opcode_count + cur.disp.U8_count + cur.imm.U8_count; + + if (cur.has_ModrM) cur.U8_count++; + if (cur.has_SIB) cur.U8_count++; + + if (aotc->seg_size == 64 && cur.REX & 0x40 == 0x40 && (cur.REX!=0x40 || cur.has_REX) && (cur.REX & 7 || !(tmpins->flags & IEF_REX_ONLY_R8_R15 || + tmpins->flags & IEF_REX_XOR_LIKE && tmpa1->reg1 == tmpa2->reg1 && cur.ModrM & 0xC0 == 0xC0))) cur.U8_count++; - if (cur.U8_countflags & IEF_DONT_SWITCH_MODES && - (cur.has_addr_prefix || cur.has_operand_prefix))) - MemCopy(&best,&cur,sizeof(CAsmInst)); + + if (cur.U8_count < best.U8_count && + !(tmpins->flags & IEF_DONT_SWITCH_MODES && (cur.has_addr_prefix || cur.has_operand_prefix))) + MemCopy(&best, &cur, sizeof(CAsmInst)); } } - if (best.U8_count<255) { - tmpins=best.tmpins; - seg=REG_NONE; - if (argcount>1 && aotc->arg2.seg!=REG_NONE && !aotc->arg2.just_seg) - seg=aotc->arg2.seg; - else if (argcount>0 && aotc->arg1.seg!=REG_NONE && !aotc->arg1.just_seg) - seg=aotc->arg1.seg; - if (seg!=REG_NONE) - AOTStoreCodeU8(cc,asm_seg_prefixes[seg]); + + if (best.U8_count < 255) + { + tmpins = best.tmpins; + seg = REG_NONE; + + if (argcount > 1 && aotc->arg2.seg != REG_NONE && !aotc->arg2.just_seg) + seg = aotc->arg2.seg; + else if (argcount > 0 && aotc->arg1.seg != REG_NONE && !aotc->arg1.just_seg) + seg = aotc->arg1.seg; + + if (seg != REG_NONE) + AOTStoreCodeU8(cc, asm_seg_prefixes[seg]); + if (best.has_operand_prefix) - AOTStoreCodeU8(cc,OC_OP_SIZE_PREFIX); //Operand size override + AOTStoreCodeU8(cc, OC_OP_SIZE_PREFIX); //Operand size override + if (best.has_addr_prefix || aotc->seg_size==16 && cur.has_SIB) - AOTStoreCodeU8(cc,OC_ADDR_SIZE_PREFIX); //Operand size override - if (aotc->seg_size==64 && best.REX&0x40==0x40 && - (best.REX!=0x40 || best.has_REX) && - (best.REX&7||!(tmpins->flags&IEF_REX_ONLY_R8_R15 || - tmpins->flags&IEF_REX_XOR_LIKE && tmpa1->reg1==tmpa2->reg1 && - best.ModrM&0xC0==0xC0))) - AOTStoreCodeU8(cc,best.REX); - for (j=0;jopcode_count-1;j++) - AOTStoreCodeU8(cc,tmpins->opcode[j]); - AOTStoreCodeU8(cc,best.last_opcode_U8); + AOTStoreCodeU8(cc, OC_ADDR_SIZE_PREFIX); //Operand size override + + if (aotc->seg_size == 64 && best.REX & 0x40 == 0x40 && (best.REX != 0x40 || best.has_REX) && + (best.REX & 7 || !(tmpins->flags & IEF_REX_ONLY_R8_R15 || tmpins->flags & IEF_REX_XOR_LIKE && tmpa1->reg1 == tmpa2->reg1 && best.ModrM & 0xC0 == 0xC0))) + AOTStoreCodeU8(cc, best.REX); + + for (j = 0; j < tmpins->opcode_count - 1; j++) + AOTStoreCodeU8(cc, tmpins->opcode[j]); + + AOTStoreCodeU8(cc, best.last_opcode_U8); if (best.has_ModrM) - AOTStoreCodeU8(cc,best.ModrM); + AOTStoreCodeU8(cc, best.ModrM); + if (best.has_SIB) - AOTStoreCodeU8(cc,best.SIB); + AOTStoreCodeU8(cc, best.SIB); - if (best.disp.U8_count) { - best.disp.rel=aotc->rip+best.disp.U8_count+best.imm.U8_count; - if (!AsmStoreNum(cc,&best.disp,1,U8_avail)) + if (best.disp.U8_count) + { + best.disp.rel = aotc->rip + best.disp.U8_count + best.imm.U8_count; + + if (!AsmStoreNum(cc, &best.disp, 1, u8_avail)) return FALSE; } - if (best.imm.U8_count) { - best.imm.rel=aotc->rip+best.imm.U8_count; - if (!AsmStoreNum(cc,&best.imm,1,U8_avail)) + if (best.imm.U8_count) + { + best.imm.rel = aotc->rip+best.imm.U8_count; + + if (!AsmStoreNum(cc, &best.imm, 1, u8_avail)) return FALSE; } - if (tmpins->flags&IEF_ENDING_ZERO) //ENTER inst - AOTStoreCodeU8(cc,0); + + if (tmpins->flags & IEF_ENDING_ZERO) //ENTER inst + AOTStoreCodeU8(cc, 0); + return TRUE; } - LexExcept(cc,"Invalid inst at "); + + LexExcept(cc, "Invalid instruction at "); } -U0 ParseAsmDefine(CCompCtrl *cc,I64 U8_count) +U0 ParseAsmDefine(CCompCtrl *cc, I64 U8_count) { Bool is_dup; I64 i,dup_val; diff --git a/src/Home/Test.CC b/src/Home/Test.CC index a1e8cd66..eee79453 100755 --- a/src/Home/Test.CC +++ b/src/Home/Test.CC @@ -18,9 +18,9 @@ U0 Test() { SetRAX(9999); - MOV RCX,40 - MOVQ XMM15, RCX - MOVQ RAX, XMM15 + MOV ECX, 40 + MOVD XMM15, ECX + MOVD EAX, XMM15 "%d\n", GetRAX; } diff --git a/src/Kernel/KernelA.HH b/src/Kernel/KernelA.HH index 9c825866..8c849149 100755 --- a/src/Kernel/KernelA.HH +++ b/src/Kernel/KernelA.HH @@ -1872,18 +1872,20 @@ class CCodeMisc //Slash value #define SV_R_REG 8 #define SV_I_REG 9 -#define SV_STI_LIKE 10 //$LK,"uasm_slash_val",A="FF:::/Compiler/AsmInit.CC,uasm_slash_val"$ only. +#define SV_STI_LIKE 10 //$LK,"uasm_slash_val",A="FF:::/Compiler/AsmInit.CC,uasm_slash_val"$ only. #define SV_NONE 11 class CInst { U8 ins_entry_num, //This entry num in opcode hash entry - opcode_count, - opcode[4]; + opcode_count, + opcode[4]; U16 flags; - U8 slash_val,uasm_slash_val,opcode_modifier, - arg1,arg2, - size1,size2,//Size in bits - pad; + U8 arg1,arg2, + size1,size2,//Size in bits + slash_val, + uasm_slash_val, + opcode_modifier,pad; + }; //x86 opcodes