Hi everyone:

as I want to analysis the source code of qemu now, and there is a litte trouble 
at this fuction:
in the file--Translate.c(target-i386)
 
Line 6113 :
case 0xea: /* ljmp im */
        {
            unsigned int selector, offset;
            if (CODE64(s))
                goto illegal_op;
            ot = dflag ? OT_LONG : OT_WORD;
            offset = insn_get(s, ot);
            selector = insn_get(s, OT_WORD);
            gen_op_movl_T0_im(selector);
            gen_op_movl_T1_imu(offset);
        }
        goto do_ljmp;
------------------------------------------------------
do_ljmp:
            if (s->pe && !s->vm86) {
                if (s->cc_op != CC_OP_DYNAMIC)
                    gen_op_set_cc_op(s->cc_op);
                gen_jmp_im(pc_start - s->cs_base);
                tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T[0]);
               gen_helper_ljmp_protected(cpu_tmp2_i32, cpu_T[1],
                                          tcg_const_i32(s->pc - pc_start));
            } else {
                gen_op_movl_seg_T0_vm(R_CS);
                gen_op_movl_T0_T1();
                gen_op_jmp_T0();
            }
            gen_eob(s);
            break;
------------------------------------------------
this fucion:
gen_helper_ljmp_protected(cpu_tmp2_i32, cpu_T[1],
                                          tcg_const_i32(s->pc - pc_start));
I guess it should use the fuction glue() to create,but I can not find where it 
is ,could someone tell me that if you konw !
thanks very much !look forward to your answer !
  
                                                       ---------yuanzhu
                                                                11.09

Reply via email to