⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kaffe.def

📁 基于LWVCL开发的库
💻 DEF
📖 第 1 页 / 共 5 页
字号:
	check_stack_int(0);	check_stack_long(1);	slot_nowriteback(stack(0));	slot_nowriteback2(stack_long(1));	lshl_long(stack_long(1), stack_long(1), stack(0));	pop(1);}define_insn_finidefine_insn(ISHR){	/*	 * ..., val1, val2 -> ... val1 >> val2	 */	trace_jcode ("ishr\n");	check_stack_int(0);	check_stack_int(1);	ashr_int(stack(1), rstack(1), rstack(0));	pop(1);}define_insn_finidefine_insn(LSHR){	/*	 * ..., long val1, val2 -> ... long val1 >> val2	 */	trace_jcode ("lshr\n");	check_stack_int(0);	check_stack_long(1);	slot_nowriteback(stack(0));	slot_nowriteback2(stack_long(1));	ashr_long(stack_long(1), stack_long(1), stack(0));	pop(1);}define_insn_finidefine_insn(IUSHR){	/*	 * ..., val1, val2 -> ... val1 >> val2	 */	trace_jcode ("iushr\n");	check_stack_int(0);	check_stack_int(1);	lshr_int(stack(1), rstack(1), rstack(0));	pop(1);}define_insn_finidefine_insn(LUSHR){	/*	 * ..., long val1, val2 -> ... long val1 >> val2	 */	trace_jcode ("lushr\n");	check_stack_int(0);	check_stack_long(1);	slot_nowriteback(stack(0));	slot_nowriteback2(stack_long(1));	lshr_long(stack_long(1), stack_long(1), stack(0));	pop(1);}define_insn_finidefine_insn(IAND){        /*         * ..., val1, val2 -> ..., val1 & val2         */	trace_jcode ("iand\n");	check_stack_int(0);	check_stack_int(1);	and_int(stack(1), rstack(1), rstack(0));	pop(1);}define_insn_finidefine_insn(LAND){        /*         * ..., long val1, long val2 -> ..., long val1 & val2         */	trace_jcode ("land\n");	check_stack_long(0);	check_stack_long(2);	slot_nowriteback2(stack_long(0));	slot_nowriteback2(stack_long(2));	and_long(stack_long(2), rstack_long(2), rstack_long(0));	pop(2);}define_insn_finidefine_insn(IOR){        /*         * ..., val1, val2 -> ..., val1 | val2         */	trace_jcode ("ior\n");	check_stack_int(0);	check_stack_int(1);	or_int(stack(1), rstack(1), rstack(0));	pop(1);}define_insn_finidefine_insn(LOR){        /*         * ..., long val1, long val2 -> ..., long val1 | val2         */	trace_jcode ("lor\n");	check_stack_long(0);	check_stack_long(2);	slot_nowriteback2(stack_long(0));	slot_nowriteback2(stack_long(2));	or_long(stack_long(2), rstack_long(2), rstack_long(0));	pop(2);}define_insn_finidefine_insn(IXOR){        /*         * ..., val1, val2 -> ..., val1 ^ val2         */	trace_jcode ("ixor\n");	check_stack_int(0);	check_stack_int(1);	xor_int(stack(1), rstack(1), rstack(0));	pop(1);}define_insn_finidefine_insn(LXOR){        /*         * ..., long val1, long val2 -> ..., long val1 ^ val2         */	trace_jcode ("lxor\n");	check_stack_long(0);	check_stack_long(2);	slot_nowriteback2(stack_long(0));	slot_nowriteback2(stack_long(2));	xor_long(stack_long(2), rstack_long(2), rstack_long(0));	pop(2);}define_insn_finidefine_insn(IINC){	check_pc (0);	check_pc (1);	idx = (uint8)getpc(0);	low = (int8)getpc(1);	trace_jcode ("iinc %d %d\n", idx, low);	check_local_int(idx);	add_int_const(local(idx), local(idx), low);}define_insn_finidefine_insn(I2L){	trace_jcode ("i2l\n");	check_stack_int(0);	push(1);	cvt_int_long(stack_long(0), stack(1));}define_insn_finidefine_insn(I2F){	trace_jcode ("i2f\n");	check_stack_int(0);	cvt_int_float(stack(0), stack(0));}define_insn_finidefine_insn(I2D){	trace_jcode ("i2d\n");	check_stack_int(0);	push(1);	cvt_int_double(stack_double(0), stack(1));}define_insn_finidefine_insn(L2I){	trace_jcode ("l2i\n");	check_stack_long(0);	cvt_long_int(stack(1), stack_long(0));	pop(1);}define_insn_finidefine_insn(L2F){	trace_jcode ("l2f\n");	check_stack_long(0);	cvt_long_float(stack(1), stack_long(0));	pop(1);}define_insn_finidefine_insn(L2D){	trace_jcode ("l2d\n");	check_stack_long(0);	cvt_long_double(stack_double(0), stack_long(0));}define_insn_finidefine_insn(F2I){	trace_jcode ("f2i\n");	check_stack_float(0);	cvt_float_int(stack(0), stack(0));}define_insn_finidefine_insn(F2L){	trace_jcode ("f2l\n");	check_stack_float(0);	push(1);	cvt_float_long(stack_long(0), stack(1));}define_insn_finidefine_insn(F2D){	trace_jcode ("f2d\n");	check_stack_float(0);	push(1);	cvt_float_double(stack_double(0), stack(1));}define_insn_finidefine_insn(D2I){	trace_jcode ("d2i\n");	check_stack_double(0);	cvt_double_int(stack(1), stack_double(0));	pop(1);}define_insn_finidefine_insn(D2L){	trace_jcode ("d2l\n");	check_stack_double(0);	cvt_double_long(stack_long(0), stack_double(0));}define_insn_finidefine_insn(D2F){	trace_jcode ("d2f\n");	check_stack_double(0);	cvt_double_float(stack(1), stack_double(0));	pop(1);}define_insn_finidefine_insn(INT2BYTE){	trace_jcode ("int2byte\n");	check_stack_int(0);	cvt_int_byte(stack(0), rstack(0));}define_insn_finidefine_insn(INT2CHAR){	trace_jcode ("int2char\n");	check_stack_int(0);	cvt_int_char(stack(0), rstack(0));}define_insn_finidefine_insn(INT2SHORT){	trace_jcode ("int2short\n");	check_stack_int(0);	cvt_int_short(stack(0), rstack(0));}define_insn_finidefine_insn(LCMP){	/*	 * ..., long val1, long val2 -> ..., result	 */	trace_jcode ("lcmp\n");	check_stack_long(0);	check_stack_long(2);	slot_nowriteback2(stack_long(0));	slot_nowriteback2(stack_long(2));	lcmp(stack(3), rstack_long(0), rstack_long(2));	pop(3);}define_insn_finidefine_insn(FCMPL){	/*	 * ..., float val1, float val2 -> ..., result	 */	trace_jcode ("fcmpl\n");	check_stack_float(0);	check_stack_float(1);	cmpl_float(stack(1), stack(1), stack(0));	pop(1);}define_insn_finidefine_insn(FCMPG){	/*	 * ..., float val1, float val2 -> ..., result	 */	trace_jcode ("fcmpg\n");	check_stack_float(0);	check_stack_float(1);	cmpg_float(stack(1), stack(1), stack(0));	pop(1);}define_insn_finidefine_insn(DCMPL){	/*	 * ..., double val1, double val2 -> ..., result	 */	trace_jcode ("dcmpl\n");	check_stack_double(0);	check_stack_double(2);	cmpl_double(stack(3), stack_double(2), stack_double(0));	pop(3);}define_insn_finidefine_insn(DCMPG){	/*	 * ..., double val1, double val2 -> ..., result	 */	trace_jcode ("dcmpg\n");	check_stack_double(0);	check_stack_double(2);	cmpg_double(stack(3), stack_double(2), stack_double(0));	pop(3);}define_insn_finidefine_insn(IFEQ){	check_pcidx (0);	check_stack_int(0);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("ifeq %ld\n", (long) (pc + idx) );	slot_nowriteback(stack(0));	begin_sync();	cbranch_int_const_eq(rstack(0), 0, reference_code_label(pc+idx));	pop(1);	end_sync();}define_insn_finidefine_insn(IFNE){	check_pcidx (0);	check_stack_int(0);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("ifne %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	begin_sync();	cbranch_int_const_ne(rstack(0), 0, reference_code_label(pc+idx));	pop(1);	end_sync();}define_insn_finidefine_insn(IFLT){	check_pcidx (0);	check_stack_int(0);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("iflt %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	begin_sync();	cbranch_int_const_lt(rstack(0), 0, reference_code_label(pc+idx));	pop(1);	end_sync();}define_insn_finidefine_insn(IFGE){	check_pcidx (0);	check_stack_int(0);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("ifge %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	begin_sync();	cbranch_int_const_ge(rstack(0), 0, reference_code_label(pc+idx));	pop(1);	end_sync();}define_insn_finidefine_insn(IFGT){	check_pcidx (0);	check_stack_int(0);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("ifgt %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	begin_sync();	cbranch_int_const_gt(rstack(0), 0, reference_code_label(pc+idx));	pop(1);	end_sync();}define_insn_finidefine_insn(IFLE){	check_pcidx (0);	check_stack_int(0);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("ifle %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	begin_sync();	cbranch_int_const_le(rstack(0), 0, reference_code_label(pc+idx));	pop(1);	end_sync();}define_insn_finidefine_insn(IF_ICMPEQ){	check_pcidx (0);	check_stack_int(0);	check_stack_int(1);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("if_icmpeq %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	slot_nowriteback(stack(1));	begin_sync();	cbranch_int_eq(rstack(1), rstack(0), reference_code_label(pc+idx));	pop(2);	end_sync();}define_insn_finidefine_insn(IF_ICMPNE){	check_pcidx (0);	check_stack_int(0);	check_stack_int(1);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("if_icmpne %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	slot_nowriteback(stack(1));	begin_sync();	cbranch_int_ne(rstack(1), rstack(0), reference_code_label(pc+idx));	pop(2);	end_sync();}define_insn_finidefine_insn(IF_ICMPLT){	check_pcidx (0);	check_stack_int(0);	check_stack_int(1);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("if_icmplt %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	slot_nowriteback(stack(1));	begin_sync();	cbranch_int_lt(rstack(1), rstack(0), reference_code_label(pc+idx));	pop(2);	end_sync();}define_insn_finidefine_insn(IF_ICMPGE){	check_pcidx (0);	check_stack_int(0);	check_stack_int(1);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("if_icmpge %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	slot_nowriteback(stack(1));	begin_sync();	cbranch_int_ge(rstack(1), rstack(0), reference_code_label(pc+idx));	pop(2);	end_sync();}define_insn_finidefine_insn(IF_ICMPGT){	check_pcidx (0);	check_stack_int(0);	check_stack_int(1);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("if_icmpgt %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	slot_nowriteback(stack(1));	begin_sync();	cbranch_int_gt(rstack(1), rstack(0), reference_code_label(pc+idx));	pop(2);	end_sync();}define_insn_finidefine_insn(IF_ICMPLE){	check_pcidx (0);	check_stack_int(0);	check_stack_int(1);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("if_icmple %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	slot_nowriteback(stack(1));	begin_sync();	cbranch_int_le(rstack(1), rstack(0), reference_code_label(pc+idx));	pop(2);	end_sync();}define_insn_finidefine_insn(IF_ACMPEQ){	check_pcidx (0);	check_stack_ref(0);	check_stack_ref(1);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("if_acmpeq %ld\n", (long) (pc + idx));	slot_nowriteback(stack(0));	slot_nowriteback(stack(1));	begin_sync();	cbranch_ref_eq(rstack(1), rstack(0), reference_code_label(pc+idx));	pop(2);	end_sync();}define_insn_finidefine_insn(IF_ACMPNE){	check_pcidx (0);	check_stack_ref(0);	check_stack_ref(1);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("if_acmpne %ld\n", (long)(pc + idx));	slot_nowriteback(stack(0));	slot_nowriteback(stack(1));	begin_sync();	cbranch_ref_ne(rstack(1), rstack(0), reference_code_label(pc+idx));	pop(2);	end_sync();}define_insn_finidefine_insn(GOTO){	check_pcidx (0);	idx = (int16)((getpc(0) << 8) | getpc(1));	trace_jcode ("goto %ld\n", (long) (pc + idx));	begin_sync();	branch_a(reference_code_label(pc+idx));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -