Created
September 5, 2016 06:28
-
-
Save UplinkCoder/f6bda093695f01434684b8e2b5734e61 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| auto jmp1 = beginJmp(); | |
| auto label1 = genLabel(); | |
| auto p1 = genParameter(BCType(BCTypeEnum.String));//SP[4] | |
| //currSp();//SP[8] | |
| incSp(); | |
| Set(BCValue(StackAddr(8), BCType(BCTypeEnum.i32)), BCValue(Imm32(0))); | |
| //currSp();//SP[12] | |
| incSp(); | |
| auto tmp1 = genTemporary(BCType(BCTypeEnum.Slice, 2));//SP[16] | |
| auto tmp2 = genTemporary(BCType(BCTypeEnum.i32));//SP[20] | |
| incSp(); | |
| //currSp();//SP[28] | |
| Set(tmp2, BCValue(Imm32(0))); | |
| Set(BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), tmp2); | |
| //currSp();//SP[28] | |
| incSp(); | |
| auto tmp3 = genTemporary(BCType(BCTypeEnum.i32));//SP[32] | |
| auto tmp4 = genTemporary(BCType(BCTypeEnum.i32));//SP[36] | |
| Load32(tmp4, p1); | |
| Set(tmp3, tmp4); | |
| Set(BCValue(StackAddr(28), BCType(BCTypeEnum.i32)), tmp3); | |
| auto label2 = genLabel(); | |
| Set(tmp3, BCValue(StackAddr(28), BCType(BCTypeEnum.i32))); | |
| Sub3(BCValue(StackAddr(28), BCType(BCTypeEnum.i32)), BCValue(StackAddr(28), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto cndJmp1 = beginCndJmp(tmp3, ); | |
| auto label3 = genLabel(); | |
| Set(tmp3, BCValue(StackAddr(8), BCType(BCTypeEnum.i32))); | |
| Add3(BCValue(StackAddr(8), BCType(BCTypeEnum.i32)), BCValue(StackAddr(8), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp5 = genTemporary(BCType(BCTypeEnum.i32));//SP[40] | |
| Add3(tmp5, p1, BCValue(Imm32(1))); | |
| auto tmp6 = genTemporary(BCType(BCTypeEnum.i32));//SP[44] | |
| auto tmp7 = genTemporary(BCType(BCTypeEnum.i32));//SP[48] | |
| Mod3(tmp7, tmp3, BCValue(Imm32(4))); | |
| Div3(tmp6, tmp3, BCValue(Imm32(4))); | |
| Add3(tmp5, tmp5, tmp6); | |
| Load32(tmp3, tmp5); | |
| Byte3(tmp3, tmp3, tmp7); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(62))); | |
| auto cndJmp2 = beginCndJmp(); | |
| auto label4 = genLabel(); | |
| //auto label4 = genLabel(); | |
| auto tmp8 = genTemporary(BCType(BCTypeEnum.i32));//SP[52] | |
| Load32(tmp8, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp8, BCValue(Imm32(2))); | |
| auto tmp9 = genTemporary(BCType(BCTypeEnum.i32));//SP[56] | |
| Add3(tmp9, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp10 = genTemporary(BCType(BCTypeEnum.i32));//SP[60] | |
| Mul3(tmp10, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp9, tmp9, tmp10); | |
| Load32(tmp3, tmp9); | |
| Eq3(tmp3, tmp3, BCValue(Imm32(62))); | |
| auto cndJmp3 = beginCndJmp(tmp3, ); | |
| auto label5 = genLabel(); | |
| auto tmp11 = genTemporary(BCType(BCTypeEnum.i32));//SP[64] | |
| Load32(tmp11, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp11, BCValue(Imm32(1))); | |
| auto tmp12 = genTemporary(BCType(BCTypeEnum.i32));//SP[68] | |
| Add3(tmp12, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp13 = genTemporary(BCType(BCTypeEnum.i32));//SP[72] | |
| Mul3(tmp13, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp12, tmp12, tmp13); | |
| Load32(tmp3, tmp12); | |
| Set(tmp3, tmp3); | |
| Add3(tmp3, tmp3, BCValue(Imm32(1))); | |
| auto label6 = genLabel(); | |
| auto jmp2 = beginJmp(); | |
| auto label7 = genLabel(); | |
| incSp(); | |
| //currSp();//SP[80] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| auto label8 = genLabel(); | |
| //auto label8 = genLabel(); | |
| endJmp(jmp2, label8); | |
| endCndJmp(cndJmp3, label7); | |
| auto jmp3 = beginJmp(); | |
| auto label9 = genLabel(); | |
| //auto label9 = genLabel(); | |
| endCndJmp(cndJmp2, label9); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(60))); | |
| auto cndJmp4 = beginCndJmp(); | |
| auto label10 = genLabel(); | |
| //auto label10 = genLabel(); | |
| auto tmp14 = genTemporary(BCType(BCTypeEnum.i32));//SP[80] | |
| Load32(tmp14, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp14, BCValue(Imm32(2))); | |
| auto tmp15 = genTemporary(BCType(BCTypeEnum.i32));//SP[84] | |
| Add3(tmp15, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp16 = genTemporary(BCType(BCTypeEnum.i32));//SP[88] | |
| Mul3(tmp16, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp15, tmp15, tmp16); | |
| Load32(tmp3, tmp15); | |
| Eq3(tmp3, tmp3, BCValue(Imm32(60))); | |
| auto cndJmp5 = beginCndJmp(tmp3, ); | |
| auto label11 = genLabel(); | |
| auto tmp17 = genTemporary(BCType(BCTypeEnum.i32));//SP[92] | |
| Load32(tmp17, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp17, BCValue(Imm32(1))); | |
| auto tmp18 = genTemporary(BCType(BCTypeEnum.i32));//SP[96] | |
| Add3(tmp18, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp19 = genTemporary(BCType(BCTypeEnum.i32));//SP[100] | |
| Mul3(tmp19, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp18, tmp18, tmp19); | |
| Load32(tmp3, tmp18); | |
| Set(tmp3, tmp3); | |
| Add3(tmp3, tmp3, BCValue(Imm32(1))); | |
| auto label12 = genLabel(); | |
| auto jmp4 = beginJmp(); | |
| auto label13 = genLabel(); | |
| incSp(); | |
| //currSp();//SP[108] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| auto label14 = genLabel(); | |
| //auto label14 = genLabel(); | |
| endJmp(jmp4, label14); | |
| endCndJmp(cndJmp5, label13); | |
| auto jmp5 = beginJmp(); | |
| auto label15 = genLabel(); | |
| //auto label15 = genLabel(); | |
| endCndJmp(cndJmp4, label15); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(43))); | |
| auto cndJmp6 = beginCndJmp(); | |
| auto label16 = genLabel(); | |
| //auto label16 = genLabel(); | |
| auto tmp20 = genTemporary(BCType(BCTypeEnum.i32));//SP[108] | |
| Load32(tmp20, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp20, BCValue(Imm32(2))); | |
| auto tmp21 = genTemporary(BCType(BCTypeEnum.i32));//SP[112] | |
| Add3(tmp21, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp22 = genTemporary(BCType(BCTypeEnum.i32));//SP[116] | |
| Mul3(tmp22, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp21, tmp21, tmp22); | |
| Load32(tmp3, tmp21); | |
| Eq3(tmp3, tmp3, BCValue(Imm32(43))); | |
| auto cndJmp7 = beginCndJmp(tmp3, ); | |
| auto label17 = genLabel(); | |
| auto tmp23 = genTemporary(BCType(BCTypeEnum.i32));//SP[120] | |
| Load32(tmp23, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp23, BCValue(Imm32(1))); | |
| auto tmp24 = genTemporary(BCType(BCTypeEnum.i32));//SP[124] | |
| Add3(tmp24, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp25 = genTemporary(BCType(BCTypeEnum.i32));//SP[128] | |
| Mul3(tmp25, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp24, tmp24, tmp25); | |
| Load32(tmp3, tmp24); | |
| Set(tmp3, tmp3); | |
| Add3(tmp3, tmp3, BCValue(Imm32(1))); | |
| auto label18 = genLabel(); | |
| auto jmp6 = beginJmp(); | |
| auto label19 = genLabel(); | |
| incSp(); | |
| //currSp();//SP[136] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| auto label20 = genLabel(); | |
| //auto label20 = genLabel(); | |
| endJmp(jmp6, label20); | |
| endCndJmp(cndJmp7, label19); | |
| auto jmp7 = beginJmp(); | |
| auto label21 = genLabel(); | |
| //auto label21 = genLabel(); | |
| endCndJmp(cndJmp6, label21); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(45))); | |
| auto cndJmp8 = beginCndJmp(); | |
| auto label22 = genLabel(); | |
| //auto label22 = genLabel(); | |
| auto tmp26 = genTemporary(BCType(BCTypeEnum.i32));//SP[136] | |
| Load32(tmp26, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp26, BCValue(Imm32(2))); | |
| auto tmp27 = genTemporary(BCType(BCTypeEnum.i32));//SP[140] | |
| Add3(tmp27, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp28 = genTemporary(BCType(BCTypeEnum.i32));//SP[144] | |
| Mul3(tmp28, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp27, tmp27, tmp28); | |
| Load32(tmp3, tmp27); | |
| Eq3(tmp3, tmp3, BCValue(Imm32(45))); | |
| auto cndJmp9 = beginCndJmp(tmp3, ); | |
| auto label23 = genLabel(); | |
| auto tmp29 = genTemporary(BCType(BCTypeEnum.i32));//SP[148] | |
| Load32(tmp29, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp29, BCValue(Imm32(1))); | |
| auto tmp30 = genTemporary(BCType(BCTypeEnum.i32));//SP[152] | |
| Add3(tmp30, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp31 = genTemporary(BCType(BCTypeEnum.i32));//SP[156] | |
| Mul3(tmp31, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp30, tmp30, tmp31); | |
| Load32(tmp3, tmp30); | |
| Set(tmp3, tmp3); | |
| Add3(tmp3, tmp3, BCValue(Imm32(1))); | |
| auto label24 = genLabel(); | |
| auto jmp8 = beginJmp(); | |
| auto label25 = genLabel(); | |
| incSp(); | |
| //currSp();//SP[164] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| auto label26 = genLabel(); | |
| //auto label26 = genLabel(); | |
| endJmp(jmp8, label26); | |
| endCndJmp(cndJmp9, label25); | |
| auto jmp9 = beginJmp(); | |
| auto label27 = genLabel(); | |
| //auto label27 = genLabel(); | |
| endCndJmp(cndJmp8, label27); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(46))); | |
| auto cndJmp10 = beginCndJmp(); | |
| auto label28 = genLabel(); | |
| //auto label28 = genLabel(); | |
| auto tmp32 = genTemporary(BCType(BCTypeEnum.i32));//SP[164] | |
| Load32(tmp32, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp32, BCValue(Imm32(2))); | |
| auto tmp33 = genTemporary(BCType(BCTypeEnum.i32));//SP[168] | |
| Add3(tmp33, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp34 = genTemporary(BCType(BCTypeEnum.i32));//SP[172] | |
| Mul3(tmp34, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp33, tmp33, tmp34); | |
| Load32(tmp3, tmp33); | |
| Eq3(tmp3, tmp3, BCValue(Imm32(46))); | |
| auto cndJmp11 = beginCndJmp(tmp3, ); | |
| auto label29 = genLabel(); | |
| auto tmp35 = genTemporary(BCType(BCTypeEnum.i32));//SP[176] | |
| Load32(tmp35, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp35, BCValue(Imm32(1))); | |
| auto tmp36 = genTemporary(BCType(BCTypeEnum.i32));//SP[180] | |
| Add3(tmp36, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp37 = genTemporary(BCType(BCTypeEnum.i32));//SP[184] | |
| Mul3(tmp37, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp36, tmp36, tmp37); | |
| Load32(tmp3, tmp36); | |
| Set(tmp3, tmp3); | |
| Add3(tmp3, tmp3, BCValue(Imm32(1))); | |
| auto label30 = genLabel(); | |
| auto jmp10 = beginJmp(); | |
| auto label31 = genLabel(); | |
| incSp(); | |
| //currSp();//SP[192] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| auto label32 = genLabel(); | |
| //auto label32 = genLabel(); | |
| endJmp(jmp10, label32); | |
| endCndJmp(cndJmp11, label31); | |
| auto jmp11 = beginJmp(); | |
| auto label33 = genLabel(); | |
| //auto label33 = genLabel(); | |
| endCndJmp(cndJmp10, label33); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(44))); | |
| auto cndJmp12 = beginCndJmp(); | |
| auto label34 = genLabel(); | |
| //auto label34 = genLabel(); | |
| auto tmp38 = genTemporary(BCType(BCTypeEnum.i32));//SP[192] | |
| Load32(tmp38, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp38, BCValue(Imm32(2))); | |
| auto tmp39 = genTemporary(BCType(BCTypeEnum.i32));//SP[196] | |
| Add3(tmp39, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp40 = genTemporary(BCType(BCTypeEnum.i32));//SP[200] | |
| Mul3(tmp40, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp39, tmp39, tmp40); | |
| Load32(tmp3, tmp39); | |
| Eq3(tmp3, tmp3, BCValue(Imm32(44))); | |
| auto cndJmp13 = beginCndJmp(tmp3, ); | |
| auto label35 = genLabel(); | |
| auto tmp41 = genTemporary(BCType(BCTypeEnum.i32));//SP[204] | |
| Load32(tmp41, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp41, BCValue(Imm32(1))); | |
| auto tmp42 = genTemporary(BCType(BCTypeEnum.i32));//SP[208] | |
| Add3(tmp42, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp43 = genTemporary(BCType(BCTypeEnum.i32));//SP[212] | |
| Mul3(tmp43, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp42, tmp42, tmp43); | |
| Load32(tmp3, tmp42); | |
| Set(tmp3, tmp3); | |
| Add3(tmp3, tmp3, BCValue(Imm32(1))); | |
| auto label36 = genLabel(); | |
| auto jmp12 = beginJmp(); | |
| auto label37 = genLabel(); | |
| incSp(); | |
| //currSp();//SP[220] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| auto label38 = genLabel(); | |
| //auto label38 = genLabel(); | |
| endJmp(jmp12, label38); | |
| endCndJmp(cndJmp13, label37); | |
| auto jmp13 = beginJmp(); | |
| auto label39 = genLabel(); | |
| //auto label39 = genLabel(); | |
| endCndJmp(cndJmp12, label39); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(91))); | |
| auto cndJmp14 = beginCndJmp(); | |
| auto label40 = genLabel(); | |
| //auto label40 = genLabel(); | |
| auto tmp44 = genTemporary(BCType(BCTypeEnum.i32));//SP[220] | |
| Load32(tmp44, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp44, BCValue(Imm32(2))); | |
| auto tmp45 = genTemporary(BCType(BCTypeEnum.i32));//SP[224] | |
| Add3(tmp45, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp46 = genTemporary(BCType(BCTypeEnum.i32));//SP[228] | |
| Mul3(tmp46, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp45, tmp45, tmp46); | |
| Load32(tmp3, tmp45); | |
| Eq3(tmp3, tmp3, BCValue(Imm32(91))); | |
| auto cndJmp15 = beginCndJmp(tmp3, ); | |
| auto label41 = genLabel(); | |
| auto tmp47 = genTemporary(BCType(BCTypeEnum.i32));//SP[232] | |
| Load32(tmp47, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp47, BCValue(Imm32(1))); | |
| auto tmp48 = genTemporary(BCType(BCTypeEnum.i32));//SP[236] | |
| Add3(tmp48, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp49 = genTemporary(BCType(BCTypeEnum.i32));//SP[240] | |
| Mul3(tmp49, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp48, tmp48, tmp49); | |
| Load32(tmp3, tmp48); | |
| Set(tmp3, tmp3); | |
| Add3(tmp3, tmp3, BCValue(Imm32(1))); | |
| auto label42 = genLabel(); | |
| auto jmp14 = beginJmp(); | |
| auto label43 = genLabel(); | |
| incSp(); | |
| //currSp();//SP[248] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| auto label44 = genLabel(); | |
| //auto label44 = genLabel(); | |
| endJmp(jmp14, label44); | |
| endCndJmp(cndJmp15, label43); | |
| auto jmp15 = beginJmp(); | |
| auto label45 = genLabel(); | |
| //auto label45 = genLabel(); | |
| endCndJmp(cndJmp14, label45); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(93))); | |
| auto cndJmp16 = beginCndJmp(); | |
| auto label46 = genLabel(); | |
| //auto label46 = genLabel(); | |
| auto tmp50 = genTemporary(BCType(BCTypeEnum.i32));//SP[248] | |
| Load32(tmp50, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp50, BCValue(Imm32(2))); | |
| auto tmp51 = genTemporary(BCType(BCTypeEnum.i32));//SP[252] | |
| Add3(tmp51, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp52 = genTemporary(BCType(BCTypeEnum.i32));//SP[256] | |
| Mul3(tmp52, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp51, tmp51, tmp52); | |
| Load32(tmp3, tmp51); | |
| Eq3(tmp3, tmp3, BCValue(Imm32(93))); | |
| auto cndJmp17 = beginCndJmp(tmp3, ); | |
| auto label47 = genLabel(); | |
| auto tmp53 = genTemporary(BCType(BCTypeEnum.i32));//SP[260] | |
| Load32(tmp53, BCValue(StackAddr(12), BCType(BCTypeEnum.i32))); | |
| Sub3(tmp3, tmp53, BCValue(Imm32(1))); | |
| auto tmp54 = genTemporary(BCType(BCTypeEnum.i32));//SP[264] | |
| Add3(tmp54, BCValue(StackAddr(12), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto tmp55 = genTemporary(BCType(BCTypeEnum.i32));//SP[268] | |
| Mul3(tmp55, tmp3, BCValue(Imm32(1))); | |
| Add3(tmp54, tmp54, tmp55); | |
| Load32(tmp3, tmp54); | |
| Set(tmp3, tmp3); | |
| Add3(tmp3, tmp3, BCValue(Imm32(1))); | |
| auto label48 = genLabel(); | |
| auto jmp16 = beginJmp(); | |
| auto label49 = genLabel(); | |
| incSp(); | |
| //currSp();//SP[276] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| auto label50 = genLabel(); | |
| //auto label50 = genLabel(); | |
| endJmp(jmp16, label50); | |
| endCndJmp(cndJmp17, label49); | |
| auto jmp17 = beginJmp(); | |
| auto label51 = genLabel(); | |
| //auto label51 = genLabel(); | |
| endCndJmp(cndJmp16, label51); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(13))); | |
| auto cndJmp18 = beginCndJmp(); | |
| auto label52 = genLabel(); | |
| //auto label52 = genLabel(); | |
| Set(tmp3, BCValue(StackAddr(8), BCType(BCTypeEnum.i32))); | |
| Add3(BCValue(StackAddr(8), BCType(BCTypeEnum.i32)), BCValue(StackAddr(8), BCType(BCTypeEnum.i32)), BCValue(Imm32(1))); | |
| auto jmp18 = beginJmp(); | |
| auto label53 = genLabel(); | |
| //auto label53 = genLabel(); | |
| endCndJmp(cndJmp18, label53); | |
| Eq3(BCValue.init, tmp3, BCValue(Imm32(10))); | |
| auto cndJmp19 = beginCndJmp(); | |
| auto label54 = genLabel(); | |
| //auto label54 = genLabel(); | |
| auto jmp19 = beginJmp(); | |
| auto label55 = genLabel(); | |
| //auto label55 = genLabel(); | |
| endCndJmp(cndJmp19, label55); | |
| auto label56 = genLabel(); | |
| //auto label56 = genLabel(); | |
| endJmp(jmp3, label56); | |
| endJmp(jmp5, label56); | |
| endJmp(jmp7, label56); | |
| endJmp(jmp9, label56); | |
| endJmp(jmp11, label56); | |
| endJmp(jmp13, label56); | |
| endJmp(jmp15, label56); | |
| endJmp(jmp17, label56); | |
| endJmp(jmp18, label4); | |
| endJmp(jmp19, label56); | |
| auto label57 = genLabel(); | |
| //genJump(label2; | |
| auto jmp20 = beginJmp(); | |
| endJmp(jmp20, label2); | |
| auto label58 = genLabel(); | |
| endCndJmp(cndJmp1, label58); | |
| incSp(); | |
| //currSp();//SP[280] | |
| Cat(tmp3, BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1)), tmp3, 4); | |
| Ret(BCValue(StackAddr(12), BCType(BCTypeEnum.Slice, 1))); | |
| auto label59 = genLabel(); | |
| Set(p1, BCValue(Imm32(30))); | |
| endJmp(jmp1, label59); | |
| //genJump(label1; | |
| auto jmp21 = beginJmp(); | |
| endJmp(jmp21, label1); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment