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

📄 elf-x86id.asm

📁 支持AMD64的汇编编译器源码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	db	32	db	1	db	-91	db	0	db	0	db	0	db	0	db 0	dd	0	dd	0	dd	0	dd	32768	dd	0	db	0	db	3	db	-14	db	15	db	16	db	0	db	2	db 0	dd	16580	dd	4292	dd	0	dd	32768	dd	0	db	0	db	3	db	-14	db	15	db	16	db	0	db	2	db 0	dd	16580	dd	4482	dd	0	dd	32768	dd	0	db	0	db	3	db	-14	db	15	db	17	db	0	db	2	db 0	dd	4482	dd	16580	dd	0	align 4	;.type	maskmovdqu_insn,@object	;.size	maskmovdqu_insn,28maskmovdqu_insn:	dd	32768	dd	0	db	0	db	3	db	102	db	15	db	-9	db	0	db	2	db 0	dd	16580	dd	4292	dd	0	align 32	;.type	movdqau_insn,@object	;.size	movdqau_insn,56movdqau_insn:	dd	32768	dd	16	db	0	db	3	db	0	db	15	db	111	db	0	db	2	db 0	dd	16580	dd	4549	dd	0	dd	32768	dd	16	db	0	db	3	db	0	db	15	db	127	db	0	db	2	db 0	dd	4549	dd	16580	dd	0	align 4	;.type	movdq2q_insn,@object	;.size	movdq2q_insn,28movdq2q_insn:	dd	32768	dd	0	db	0	db	3	db	-14	db	15	db	-42	db	0	db	2	db 0	dd	16516	dd	4292	dd	0	align 4	;.type	movq2dq_insn,@object	;.size	movq2dq_insn,28movq2dq_insn:	dd	32768	dd	0	db	0	db	3	db	-13	db	15	db	-42	db	0	db	2	db 0	dd	16580	dd	4228	dd	0	align 4	;.type	pslrldq_insn,@object	;.size	pslrldq_insn,28pslrldq_insn:	dd	32768	dd	32	db	0	db	3	db	102	db	15	db	115	db	0	db	2	db 0	dd	4292	dd	8480	dd	0	align 4	;.type	now3d_insn,@object	;.size	now3d_insn,28now3d_insn:	dd	65536	dd	128	db	0	db	2	db	15	db	15	db	0	db	0	db	2	db 0	dd	16516	dd	4485	dd	0	align 4	;.type	cyrixmmx_insn,@object	;.size	cyrixmmx_insn,28cyrixmmx_insn:	dd	139264	dd	4	db	0	db	2	db	15	db	0	db	0	db	0	db	2	db 0	dd	16516	dd	4485	dd	0	align 4	;.type	pmachriw_insn,@object	;.size	pmachriw_insn,28pmachriw_insn:	dd	139264	dd	0	db	0	db	2	db	15	db	94	db	0	db	0	db	2	db 0	dd	16516	dd	4482	dd	0	align 4	;.type	rsdc_insn,@object	;.size	rsdc_insn,28rsdc_insn:	dd	655368	dd	0	db	0	db	2	db	15	db	121	db	0	db	0	db	2	db 0	dd	16454	dd	4514	dd	0	align 4	;.type	cyrixsmm_insn,@object	;.size	cyrixsmm_insn,28cyrixsmm_insn:	dd	655368	dd	4	db	0	db	2	db	15	db	0	db	0	db	0	db	1	db 0	dd	4514	dd	0	dd	0	align 4	;.type	svdc_insn,@object	;.size	svdc_insn,28svdc_insn:	dd	655368	dd	0	db	0	db	2	db	15	db	120	db	0	db	0	db	2	db 0	dd	4514	dd	16454	dd	0	align 32	;.type	ibts_insn,@object	;.size	ibts_insn,56ibts_insn:	dd	6291460	dd	0	db	16	db	2	db	15	db	-89	db	0	db	0	db	2	db 0	dd	4419	dd	16449	dd	0	dd	6291460	dd	0	db	32	db	2	db	15	db	-89	db	0	db	0	db	2	db 0	dd	4451	dd	16481	dd	0	align 32	;.type	umov_insn,@object	;.size	umov_insn,168umov_insn:	dd	2097156	dd	0	db	0	db	2	db	15	db	16	db	0	db	0	db	2	db 0	dd	4387	dd	16417	dd	0	dd	2097156	dd	0	db	16	db	2	db	15	db	17	db	0	db	0	db	2	db 0	dd	4419	dd	16449	dd	0	dd	2097156	dd	0	db	32	db	2	db	15	db	17	db	0	db	0	db	2	db 0	dd	4451	dd	16481	dd	0	dd	2097156	dd	0	db	0	db	2	db	15	db	18	db	0	db	0	db	2	db 0	dd	16417	dd	4387	dd	0	dd	2097156	dd	0	db	16	db	2	db	15	db	19	db	0	db	0	db	2	db 0	dd	16449	dd	4419	dd	0	dd	2097156	dd	0	db	32	db	2	db	15	db	19	db	0	db	0	db	2	db 0	dd	16481	dd	4451	dd	0	align 32	;.type	xbts_insn,@object	;.size	xbts_insn,56xbts_insn:	dd	6291460	dd	0	db	16	db	2	db	15	db	-90	db	0	db	0	db	2	db 0	dd	16449	dd	4418	dd	0	dd	6291460	dd	0	db	32	db	2	db	15	db	-90	db	0	db	0	db	2	db 0	dd	16481	dd	4450	dd	0	;.type	size_lookup.0,@object	;.size	size_lookup.0,8size_lookup.0:	db	0	db	8	db	16	db	32	db	64	db	80	db	-128	db	0	section	.rodata;.str1.1,"aMS",@progbits,1LC0:	db	"invalid operand conversion", 0LC1:	db	"./modules/arch/x86/x86id.re", 0LC2:	db	"$", 0	section .text	;.type	x86_new_jmp,@functionx86_new_jmp:	push	ebp	mov	ebp, esp	push	edi	push	esi	push	ebx	sub	esp, 76	mov	edx, DWORD [ebp+8]	mov	eax, DWORD [edx+4]	movzx	esi, al	mov	ebx, DWORD [edx]	shr	eax, 8	mov	DWORD [ebp-60], eax	mov	edi, DWORD [ebp+32]	mov	DWORD [ebp-56], edi	mov	eax, DWORD [ebp+16]	mov	edi, DWORD [eax]	cmp	DWORD [edi+4], 4	je	.L2	sub	esp, 4	push	DWORD LC0	push	DWORD 1543	push	DWORD LC1	call	[DWORD yasm_internal_error_]	add	esp, 16.L2:	mov	edx, DWORD [ebp+20]	mov	eax, DWORD [edx+16]	and	eax, 3584	cmp	eax, 1536	jne	.L3	push	DWORD [ebp+32]	sub	esp, 8	push	DWORD [edi+8]	call	yasm_expr_copy	mov	DWORD [esp], eax	call	yasm_expr_expr	add	esp, 12	push	eax	sub	esp, 8	push	DWORD [ebp+32]	push	DWORD 0	sub	esp, 4	push	DWORD [edi+8]	call	yasm_expr_expr	add	esp, 8	push	eax	push	DWORD 25	call	yasm_expr_new	add	esp, 20	push	eax	call	yasm_expr_expr	add	esp, 8	push	eax	push	DWORD 27	call	yasm_expr_new	mov	DWORD [ebp-52], eax	add	esp, 16	jmp	.L4.L3:	mov	eax, DWORD [edi+8]	mov	DWORD [ebp-52], eax.L4:	sub	esp, 12	push	DWORD [ebp+32]	push	DWORD 0	push	DWORD [ebp+28]	push	DWORD [ebp+24]	push	DWORD LC2	call	yasm_symrec_define_label	mov	DWORD [ebp-48], eax	mov	BYTE [ebp-32], 0	add	esp, 32	mov	edi, DWORD [ebp+20]	mov	eax, DWORD [edi+16]	and	eax, 3584	cmp	eax, 1024	je	.L6	cmp	eax, 1024	jg	.L11	cmp	eax, 512	je	.L7	jmp	.L9.L11:	cmp	eax, 1536	je	.L8	jmp	.L9.L6:	mov	DWORD [ebp-44], 3	jmp	.L5.L7:	mov	DWORD [ebp-44], 4	jmp	.L5.L8:	mov	DWORD [ebp-44], 5	mov	al, BYTE [ebx+9]	mov	BYTE [ebp-32], al	mov	al, BYTE [ebx+10]	mov	BYTE [ebp-31], al	mov	al, BYTE [ebx+11]	mov	BYTE [ebp-30], al	mov	al, BYTE [ebx+12]	mov	BYTE [ebp-29], al	jmp	.L5.L9:	mov	DWORD [ebp-44], 0.L5:	mov	edx, DWORD [ebp+20]	mov	al, BYTE [edx+8]	mov	BYTE [ebp-27], al	cmp	BYTE [edx+14], 1	jbe	.L12	mov	edx, DWORD [edx+20]	mov	eax, edx	and	eax, 61440	cmp	eax, 36864	jne	.L12	mov	eax, edx	and	eax, 224	shr	eax, 5	mov	al, BYTE [size_lookup.0+eax]	mov	BYTE [ebp-28], al	jmp	.L13.L12:	mov	BYTE [ebp-28], 0.L13:	mov	eax, DWORD [ebp+20]	test	BYTE [eax+5], 1	je	.L14	mov	dl, BYTE [ebp-60]	mov	BYTE [ebp-28], dl.L14:	mov	BYTE [ebp-40], 0	mov	BYTE [ebp-36], 0	test	esi, esi	jle	.L16	mov	cl, BYTE [yasm_x86_LTX_mode_bits]	mov	edi, DWORD [cpu_enabled]	mov	DWORD [ebp-76], edi	mov	al, BYTE [ebp-27]	mov	BYTE [ebp-61], al.L34:	mov	eax, DWORD [ebx]	mov	edx, eax	mov	edi, DWORD [ebp+8]	or	edx, DWORD [edi+8]	test	edx, 16777216	je	.L20	cmp	cl, 64	jne	.L17.L20:	test	edx, 33554432	je	.L21	cmp	cl, 64	je	.L17.L21:	and	edx, -50331649	mov	eax, DWORD [ebp-76]	and	eax, edx	cmp	eax, edx	jne	.L17	cmp	BYTE [ebx+14], 0	je	.L17	mov	edx, DWORD [ebx+16]	mov	eax, edx	and	eax, 61440	cmp	eax, 32768	jne	.L17	mov	al, BYTE [ebp-61]	cmp	BYTE [ebx+8], al	jne	.L17	mov	eax, edx	and	eax, 3584	cmp	eax, 512	je	.L29	cmp	eax, 1024	jne	.L17	mov	al, BYTE [ebx+9]	mov	BYTE [ebp-40], al	mov	dl, BYTE [ebx+10]	mov	BYTE [ebp-39], dl	mov	al, BYTE [ebx+11]	mov	BYTE [ebp-38], al	mov	al, BYTE [ebx+12]	mov	BYTE [ebp-37], al	test	BYTE [ebx+4], 16	je	.L17	add	edx, DWORD [ebp-60]	mov	BYTE [ebp-39], dl	jmp	.L17.L29:	mov	al, BYTE [ebx+9]	mov	BYTE [ebp-36], al	mov	al, BYTE [ebx+10]	mov	BYTE [ebp-35], al	mov	dl, BYTE [ebx+11]	mov	BYTE [ebp-34], dl	mov	al, BYTE [ebx+12]	mov	BYTE [ebp-33], al	test	BYTE [ebx+4], 4	je	.L30	add	edx, DWORD [ebp-60]	mov	BYTE [ebp-34], dl.L30:	mov	eax, DWORD [ebx+16]	and	eax, 196608	cmp	eax, 196608	jne	.L17	mov	BYTE [ebp-32], 1	movzx	eax, BYTE [ebx+9]	mov	al, BYTE [eax+10+ebx]	mov	BYTE [ebp-31], al.L17:	dec	esi	add	ebx, 28	test	esi, esi	jle	.L16	cmp	BYTE [ebp-40], 0	je	.L34	cmp	BYTE [ebp-36], 0	je	.L34.L16:	sub	esp, 12	lea	eax, [ebp-56]	push	eax	call	yasm_x86__bc_new_jmp	lea	esp, [ebp-12]	pop	ebx	pop	esi	pop	edi	leave	ret.Lfe1:	;.size	x86_new_jmp,.Lfe1-x86_new_jmp	section	.rodata	align 32	;.type	size_lookup.1,@object	;.size	size_lookup.1,32size_lookup.1:	dd	0	dd	1	dd	2	dd	4	dd	8	dd	10	dd	16	dd	0	section	.rodata;.str1.1LC3:	db	"invalid operand type", 0LC4:	db	"invalid target modifier type", 0LC6:	db	"mismatch in operand sizes", 0LC7:	db	"operand size not specified", 0	section	.rodata;.str1.32,"aMS",@progbits,1	align 32LC8:	db	"unrecognized x86 ext mod index", 0	align 32LC9:	db	"unrecognized x86 extended modifier", 0	align 32LC5:	db	"invalid combination of opcode and operands", 0	section	.rodata;.str1.1LC10:	db	"unknown operand action", 0	section	.rodata;.str1.32	align 32LC11:	db	"unknown operand postponed action", 0	section .textglobal yasm_x86__parse_insn	;.type	yasm_x86__parse_insn,@functionyasm_x86__parse_insn:	push	ebp	mov	ebp, esp	push	edi	push	esi	push	ebx	sub	esp, 76	mov	edx, DWORD [ebp+8]	mov	eax, DWORD [edx+4]	mov	ebx, DWORD [edx]	mov	ecx, eax	shr	ecx, 8	mov	DWORD [ebp-68], ecx	mov	DWORD [ebp-72], 0	and	eax, 255	mov	DWORD [ebp-64], eax	jle	.L38.L166:	mov	DWORD [ebp-80], 0	mov	eax, DWORD [ebx]	mov	edx, eax	mov	ecx, DWORD [ebp+8]	or	edx, DWORD [ecx+8]	test	edx, 16777216	je	.L42	cmp	BYTE [yasm_x86_LTX_mode_bits], 64	jne	.L39.L42:	test	edx, 33554432	je	.L43	cmp	BYTE [yasm_x86_LTX_mode_bits], 64	je	.L39.L43:	and	edx, -50331649	mov	eax, edx	and	eax, DWORD [cpu_enabled]	cmp	eax, edx	jne	.L39	movzx	eax, BYTE [ebx+14]	cmp	DWORD [ebp+12], eax	jne	.L39	cmp	DWORD [ebp+16], 0	je	.L261	mov	DWORD [ebp-76], 0	mov	eax, DWORD [ebp+16]	mov	edi, DWORD [eax]	test	edi, edi	je	.L48	movzx	eax, BYTE [ebx+14]	cmp	DWORD [ebp-76], eax	jge	.L48	cmp	DWORD [ebp-80], 0	jne	.L39.L164:	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 31	cmp	eax, 21	ja	.L139	jmp	DWORD [.L140+eax*4]	section	.rodata	align 4	align 4.L140:	dd	.L53	dd	.L57	dd	.L71	dd	.L55	dd	.L75	dd	.L73	dd	.L83	dd	.L85	dd	.L88	dd	.L91	dd	.L94	dd	.L97	dd	.L103	dd	.L109	dd	.L115	dd	.L118	dd	.L121	dd	.L124	dd	.L127	dd	.L130	dd	.L133	dd	.L136	section .text.L53:	cmp	DWORD [edi+4], 4	jmp	.L273.L55:	cmp	DWORD [edi+4], 3	je	.L52.L57:	cmp	DWORD [edi+4], 1	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, -16	cmp	eax, 48	je	.L52	cmp	eax, 48	ja	.L69	cmp	eax, 16	je	.L52	cmp	eax, 32	jmp	.L273.L69:	cmp	eax, 80	je	.L52	cmp	eax, 80	ja	.L70	cmp	eax, 64	jmp	.L273.L70:	cmp	eax, 96	jmp	.L273.L71:	cmp	DWORD [edi+4], 3	jmp	.L273.L73:	cmp	DWORD [edi+4], 3	je	.L52.L75:	cmp	DWORD [edi+4], 1	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, -16	cmp	eax, 112	je	.L52	cmp	eax, 128	jmp	.L273.L83:	cmp	DWORD [edi+4], 2	jmp	.L273.L85:	cmp	DWORD [edi+4], 1	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, -16	cmp	eax, 144	jmp	.L273.L88:	cmp	DWORD [edi+4], 1	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, -16	cmp	eax, 160	jmp	.L273.L91:	cmp	DWORD [edi+4], 1	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, -16	cmp	eax, 176	jmp	.L273.L94:	cmp	DWORD [edi+4], 1	jne	.L138	cmp	DWORD [edi+8], 96	jmp	.L273.L97:	cmp	DWORD [edi+4], 1	jne	.L138	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 224	cmp	eax, 32	jne	.L100	cmp	DWORD [edi+8], 16	je	.L100	cmp	DWORD [edi+8], 32	jne	.L138.L100:	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 224	cmp	eax, 64	jne	.L101	cmp	DWORD [edi+8], 48	jne	.L138.L101:	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 224	cmp	eax, 96	jne	.L102	cmp	DWORD [edi+8], 64	jne	.L138.L102:	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 224	cmp	eax, 128	jne	.L52	cmp	DWORD [edi+8], 80	jmp	.L273.L103:	cmp	DWORD [edi+4], 1	jne	.L138	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 224	cmp	eax, 32	jne	.L106	cmp	DWORD [edi+8], 17	je	.L106	cmp	DWORD [edi+8], 33	jne	.L138.L106:	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 224	cmp	eax, 64	jne	.L107	cmp	DWORD [edi+8], 49	jne	.L138.L107:	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 224	cmp	eax, 96	jne	.L108	cmp	DWORD [edi+8], 65	jne	.L138.L108:	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 224	cmp	eax, 128	jne	.L52	cmp	DWORD [edi+8], 81	jmp	.L273.L109:	cmp	DWORD [edi+4], 1	jne	.L138	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 224	cmp	eax, 32	jne	.L112	cmp	DWORD [edi+8], 18	je	.L112	cmp	DWORD [edi+8], 34	jne	.L138.L112:	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 224	cmp	eax, 64	jne	.L113	cmp	DWORD [edi+8], 50	jne	.L138.L113:	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 224	cmp	eax, 96	jne	.L114	cmp	DWORD [edi+8], 66	jne	.L138.L114:	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 224	cmp	eax, 128	jne	.L52	cmp	DWORD [edi+8], 82	jmp	.L273.L115:	cmp	DWORD [edi+4], 2	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, 15	cmp	eax, 1	jmp	.L273.L118:	cmp	DWORD [edi+4], 2	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, 15	cmp	eax, 3	jmp	.L273.L121:	cmp	DWORD [edi+4], 2	jne	.L138	test	BYTE [edi+8], 15	jmp	.L273.L124:	cmp	DWORD [edi+4], 2	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, 15	cmp	eax, 4	jmp	.L273.L127:	cmp	DWORD [edi+4], 2	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, 15	cmp	eax, 5	jmp	.L273.L130:	cmp	DWORD [edi+4], 2	jne	.L138	mov	eax, DWORD [edi+8]	and	eax, 15	cmp	eax, 2	jmp	.L273.L133:	cmp	DWORD [edi+4], 1	jne	.L138	cmp	DWORD [edi+8], 148	jmp	.L273.L136:	cmp	DWORD [edi+4], 3	jne	.L138	sub	esp, 8	push	DWORD 1	push	DWORD [edi+8]	call	yasm_ea_get_disp	mov	DWORD [esp], eax	call	yasm_expr__contains	add	esp, 16	test	eax, eax.L273:	je	.L52.L138:	mov	DWORD [ebp-80], 1	jmp	.L52.L139:	sub	esp, 4	push	DWORD LC3	push	DWORD 1849	push	DWORD LC1	call	[DWORD yasm_internal_error_]	add	esp, 16.L52:	cmp	DWORD [ebp-80], 0	jne	.L39	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 224	shr	eax, 5	mov	esi, DWORD [size_lookup.1+eax*4]	cmp	DWORD [edi+4], 1	jne	.L142	cmp	DWORD [edi+16], 0	jne	.L142	sub	esp, 12	push	DWORD [edi+8]	call	yasm_x86__get_reg_size	add	esp, 16	cmp	eax, esi	jmp	.L274.L142:	mov	eax, DWORD [ebp-76]	test	BYTE [ebx+17+eax*4], 1	je	.L145	test	esi, esi	je	.L144	cmp	DWORD [edi+16], esi	je	.L144	cmp	DWORD [edi+16], 0	jmp	.L274.L145:	cmp	DWORD [edi+16], esi.L274:	je	.L144	mov	DWORD [ebp-80], 1.L144:	cmp	DWORD [ebp-80], 0	jne	.L39	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 3584	cmp	eax, 1024	je	.L155	cmp	eax, 1024	jg	.L163	test	eax, eax	je	.L151	cmp	eax, 512	je	.L153	jmp	.L161.L163:	cmp	eax, 1536	je	.L157	cmp	eax, 2048	je	.L159	jmp	.L161.L151:	cmp	DWORD [edi+12], 0	jmp	.L275.L153:	cmp	DWORD [edi+12], 1	jmp	.L275.L155:	cmp	DWORD [edi+12], 2	jmp	.L275.L157:	cmp	DWORD [edi+12], 3	jmp	.L275.L159:	cmp	DWORD [edi+12], 4.L275:	je	.L49	mov	DWORD [ebp-80], 1	jmp	.L49.L161:	sub	esp, 4	push	DWORD LC4	push	DWORD 1899	push	DWORD LC1	call	[DWORD yasm_internal_error_]	add	esp, 16.L49:	mov	edi, DWORD [edi]	inc	DWORD [ebp-76]	test	edi, edi	je	.L48	movzx	eax, BYTE [ebx+14]	cmp	DWORD [ebp-76], eax	jge	.L48	cmp	DWORD [ebp-80], 0	je	.L164	jmp	.L39.L48:	cmp	DWORD [ebp-80], 0	je	.L261.L39:	dec	DWORD [ebp-64]	add	ebx, 28	cmp	DWORD [ebp-64], 0	jle	.L38	cmp	DWORD [ebp-72], 0	je	.L166	jmp	.L167.L38:	cmp	DWORD [ebp-72], 0	jne	.L167	jmp	.L277.L261:	mov	DWORD [ebp-72], 1	jmp	.L38.L167:	mov	eax, DWORD [ebx+4]	and	eax, -268435456	cmp	eax, 268435456	je	.L170	cmp	eax, 268435456	jg	.L182	test	eax, eax	je	.L168	jmp	.L180.L182:	cmp	eax, 536870912	je	.L178	jmp	.L180.L170:	mov	eax, DWORD [ebx+4]	and	eax, 267386880	shr	eax, 20	je	.L172	cmp	eax, 1	je	.L173	jmp	.L174.L172:	sub	esp, 8	push	DWORD LC6	jmp	.L268.L173:	sub	esp, 8	push	DWORD LC7.L268:	push	DWORD [ebp+28]	call	yasm__error	jmp	.L276.L174:	sub	esp, 4	push	DWORD LC8	push	DWORD 1930	push	DWORD LC1	call	[DWORD yasm_internal_error_]	jmp	.L276.L178:	sub	esp, 4	push	DWORD LC8	push	DWORD 1937	jmp	DWORD .L269.L180:	sub	esp, 4	push	DWORD LC9	push	DWORD 1941.L269:	push	DWORD LC1	call	[DWORD yasm_internal_error_]	add	esp, 16.L168:	cmp	DWORD [ebp+16], 0	je	.L183	mov	eax, DWORD [ebx+16]	and	eax, 61440	cmp	eax, 32768	jne	.L183	sub	esp, 4	push	DWORD [ebp+28]	push	DWORD [ebp+24]	push	DWORD [ebp+20]	push	ebx	push	DWORD [ebp+16]	push	DWORD [ebp+12]	push	DWORD [ebp+8]	call	x86_new_jmp	jmp	.L36.L183:	mov	ecx, DWORD [ebp+28]	mov	DWORD [ebp-56], ecx	mov	DWORD [ebp-52], 0	mov	DWORD [ebp-48], 0	mov	al, BYTE [ebx+8]	mov	BYTE [ebp-44], al	mov	al, BYTE [ebx+9]	mov	BYTE [ebp-43], al	mov	al, BYTE [ebx+10]	mov	BYTE [ebp-42], al	mov	al, BYTE [ebx+11]	mov	BYTE [ebp-41], al	mov	al, BYTE [ebx+12]	mov	BYTE [ebp-40], al	mov	al, BYTE [ebx+13]	mov	BYTE [ebp-39], al	cmp	BYTE [yasm_x86_LTX_mode_bits], 64	jne	.L184	cmp	BYTE [ebx+8], 64	jne	.L184	mov	al, 72	jmp	.L185.L184:	mov	al, 0.L185:	mov	BYTE [ebp-38], al	mov	BYTE [ebp-37], 0	mov	BYTE [ebp-36], 0	mov	BYTE [ebp-35], 0	mov	BYTE [ebp-34], 0	test	BYTE [ebx+4], 1	je	.L186	mov	al, BYTE [ebp-68]	add	BYTE [ebp-40], al	shr	DWORD [ebp-68], 8.L186:	test	BYTE [ebx+4], 2	je	.L187	shr	DWORD [ebp-68], 8.L187:	test	BYTE [ebx+4], 4	je	.L188	mov	dl, BYTE [ebp-68]	add	BYTE [ebp-41], dl	shr	DWORD [ebp-68], 8.L188:	test	BYTE [ebx+4], 8	je	.L189	shr	DWORD [ebp-68], 8.L189:	test	BYTE [ebx+4], 16	je	.L190	mov	cl, BYTE [ebp-68]	add	BYTE [ebp-42], cl	shr	DWORD [ebp-68], 8.L190:	test	BYTE [ebx+4], 32	je	.L191	mov	al, BYTE [ebp-68]	add	BYTE [ebp-39], al	shr	DWORD [ebp-68], 8.L191:	test	BYTE [ebx+4], 64	je	.L192	mov	dl, BYTE [ebp-68]	mov	BYTE [ebp-44], dl	shr	DWORD [ebp-68], 8.L192:	cmp	BYTE [ebx+4], 0	jns	.L193	push	DWORD [ebp+28]	push	DWORD 0	sub	esp, 4	movzx	eax, BYTE [ebp-68]	push	eax	call	yasm_intnum_new_uint	mov	DWORD [esp], eax	call	yasm_expr_int	add	esp, 8	push	eax	push	DWORD 0	call	yasm_expr_new	mov	DWORD [ebp-48], eax	mov	BYTE [ebp-37], 1	add	esp, 16.L193:	cmp	DWORD [ebp+16], 0	je	.L194	mov	DWORD [ebp-76], 0	mov	ecx, DWORD [ebp+16]	mov	edi, DWORD [ecx]	test	edi, edi	je	.L194	movzx	eax, BYTE [ebx+14]	cmp	DWORD [ebp-76], eax	jge	.L194.L257:	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 61440	cmp	eax, 12288	je	.L223	cmp	eax, 12288	jg	.L247	cmp	eax, 4096	je	.L210	cmp	eax, 4096	jg	.L248	test	eax, eax	je	.L201	jmp	.L245.L248:	cmp	eax, 8192	je	.L220	jmp	.L245.L247:	cmp	eax, 20480	je	.L232	cmp	eax, 20480	jg	.L249	cmp	eax, 16384	je	.L226	jmp	.L245.L249:	cmp	eax, 24576	je	.L236	cmp	eax, 28672	je	.L239	jmp	.L245.L201:	mov	eax, DWORD [edi+4]	cmp	eax, 3	je	.L205	cmp	eax, 3	jbe	.L200	cmp	eax, 4	je	.L206	jmp	.L200.L205:	sub	esp, 12	push	DWORD [edi+8]	call	yasm_ea_delete	jmp	.L271.L206:	sub	esp, 12	push	DWORD [edi+8]	call	yasm_expr_delete	jmp	.L271.L210:	mov	eax, DWORD [edi+4]	cmp	eax, 2	je	.L213	cmp	eax, 2	ja	.L219	cmp	eax, 1	je	.L212	jmp	.L200.L219:	cmp	eax, 3	je	.L214	cmp	eax, 4	je	.L216	jmp	.L200.L212:	sub	esp, 4	movzx	eax, BYTE [yasm_x86_LTX_mode_bits]	push	eax	lea	eax, [ebp-38]	push	eax	push	DWORD [edi+8]	call	yasm_x86__ea_new_reg	jmp	.L272.L213:	sub	esp, 4	push	DWORD LC0	push	DWORD 2025	push	DWORD LC1	call	[DWORD yasm_internal_error_]	add	esp, 16.L214:	mov	edx, DWORD [edi+8]	mov	DWORD [ebp-52], edx	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 31	cmp	eax, 21	jne	.L200	sub	esp, 12	push	edx	call	yasm_x86__ea_set_disponly	jmp	.L271.L216:	sub	esp, 8	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 224	shr	eax, 5	push	DWORD [size_lookup.1+eax*4]	push	DWORD [edi+8]	call	yasm_x86__ea_new_imm.L272:	mov	DWORD [ebp-52], eax	jmp	.L271.L220:	cmp	DWORD [edi+4], 4	jne	.L221	mov	eax, DWORD [edi+8]	mov	DWORD [ebp-48], eax	mov	ecx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+ecx*4]	and	eax, 224	shr	eax, 5	mov	al, BYTE [size_lookup.1+eax*4]	mov	BYTE [ebp-37], al	jmp	.L200.L221:	sub	esp, 4	push	DWORD LC0	push	DWORD 2045	jmp	.L270.L223:	cmp	DWORD [edi+4], 4	jne	.L224	mov	eax, DWORD [edi+8]	mov	DWORD [ebp-48], eax	mov	edx, DWORD [ebp-76]	mov	eax, DWORD [ebx+16+edx*4]	and	eax, 224	shr	eax, 5	mov	al, BYTE [size_lookup.1+eax*4]	mov	BYTE [ebp-37], al	mov	BYTE [ebp-36], 1	jmp	.L200.L224:	sub	esp, 4	push	DWORD LC0	push	DWORD 2054	jmp	.L270.L226:	cmp	DWORD [edi+4], 2	jne	.L227	mov	al, BYTE [edi+8]	and	eax, 7	mov	BYTE [ebp-39], al	jmp	.L200.L227:	cmp	DWORD [edi+4], 1	jne	.L229	sub	esp, 12	push	DWORD 2	movzx	eax, BYTE [yasm_x86_LTX_mode_bits]	push	eax	push	DWORD [edi+8]	lea	eax, [ebp-39]	push	eax	lea	eax, [ebp-38]	push	eax	call	yasm_x86__set_rex_from_reg	add	esp, 32	test	eax, eax	je	.L200.L277:	sub	esp, 8	push	

⌨️ 快捷键说明

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