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

📄 vprintf.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;	did genPlusIncr;	genPlus 	mov	a,r3	add	a,#_output_float_fpBuffer_1_1	mov	r3,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_output_float_fpBuffer_1_1 >> 8)	mov	r4,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_output_float_fpBuffer_1_1 >> 16)	mov	r5,a;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#__modslong_PARM_2	mov	a,#0x0A	movx	@dptr,a	clr	a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a;	genCall 	push	ar2	push	ar3	push	ar4	push	ar5	push	ar7	mov	dptr,#_output_float_integerPart_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	b,a	mov	dpx,r4	mov	dph,r3	mov	dpl,r2	lcall	__modslong	mov     dps, #0x01	mov     dptr, #_output_float_sloc0_1_0	mov	a,dpl	movx	@dptr,a	inc	dptr	mov	a,dph	movx	@dptr,a	inc	dptr	mov	a,dpx	movx	@dptr,a	inc	dptr	mov	a,b	movx	@dptr,a	mov	dps, #0x00	pop	ar7	pop	ar5	pop	ar4	pop	ar3	pop	ar2;	genPlus 	mov	dptr,#_output_float_sloc0_1_0	mov	dps, #0x01	mov	dptr, #_output_float_sloc1_1_0	dec	dps;	Swapped plus args.	movx	a,@dptr	add	a,#0x30	inc	dps	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	addc	a,#0x00	inc	dps	inc	dptr	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	addc	a,#0x00	inc	dps	inc	dptr	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	addc	a,#0x00	inc	dps	inc	dptr	movx	@dptr,a	mov	dps, #0x00;	genCast 	mov	dptr,#_output_float_sloc1_1_0	movx	a,@dptr;	genPointerSet ; Peephole 136a   removed redundant moves	mov  r6,a	mov  dpl,r3	mov  dph,r4	mov  dpx,r5	movx	@dptr,a;	vprintf.c 188;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#__divslong_PARM_2	mov	a,#0x0A	movx	@dptr,a	clr	a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a	inc	dptr	movx	@dptr,a;	genCall 	push	ar2	push	ar7	mov	dptr,#_output_float_integerPart_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	b,a	mov	dpx,r4	mov	dph,r3	mov	dpl,r2	lcall	__divslong	mov	r3,dpl	mov	r4,dph	mov	r5,dpx	mov	r6,b	pop	ar7	pop	ar2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_output_float_integerPart_1_1	mov	a,r3	movx	@dptr,a	inc	dptr	mov	a,r4	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a	inc	dptr	mov	a,r6	movx	@dptr,a;	genGoto 	ljmp	00103$;	genLabel 00105$:;	vprintf.c 190;	genIfx 	mov	a,r2;	genIfxJump ; Peephole 109   removed ljmp by inverse jump logic	jnz  00107$00209$:;	vprintf.c 192;	genPlus 	mov	a,#0x01	add	a,r2	mov	r7,a;	genPlus 	mov	a,r2	add	a,#_output_float_fpBuffer_1_1	mov	r2,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_output_float_fpBuffer_1_1 >> 8)	mov	r3,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_output_float_fpBuffer_1_1 >> 16)	mov	r4,a;	genPointerSet 	mov	dpl,r2	mov	dph,r3	mov	dpx,r4	mov	a,#0x30	movx	@dptr,a;	genLabel 00107$:;	vprintf.c 196;	genCmpEq 	mov	dptr,#_output_float_PARM_3;	gencjneshort	movx	a,@dptr; Peephole 132   changed ljmp to sjmp; Peephole 199   optimized misc jump sequence	cjne a,#0xFF,00109$;00210$:; Peephole 200   removed redundant sjmp00211$:;	vprintf.c 197;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_output_float_PARM_3	mov	a,#0x06	movx	@dptr,a;	genLabel 00109$:;	vprintf.c 201;	genAssign 	mov	dptr,#_output_float_PARM_3;	genAssign: resultIsFar = TRUE;	genFarFarAssign (1 byte case)	movx	a,@dptr	mov	r2,a;	genAssign ;	genAssign: resultIsFar = TRUE	mov	ar3,r2;	genIfx 	mov	dptr,#_output_float_PARM_3	movx	a,@dptr;	genIfxJump 	jnz	00212$	ljmp	00114$00212$:;	vprintf.c 202;	genAssign ;	genAssign: resultIsFar = TRUE	mov	ar4,r7;	genAssign ;	genAssign: resultIsFar = TRUE;	genLabel 00110$:;	vprintf.c 203;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#___fsmul_PARM_2; Peephole 101   removed redundant mov; Peephole 180   changed mov to clr	clr  a	movx @dptr,a	inc  dptr	movx @dptr,a	inc	dptr	mov	a,#0x20	movx	@dptr,a	inc	dptr	mov	a,#0x41	movx	@dptr,a;	genCall 	push	ar2	push	ar3	push	ar4	push	ar7	mov	dptr,#_output_float_decimalPart_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	b,a	mov	dpx,r4	mov	dph,r3	mov	dpl,r2	lcall	___fsmul	mov	r5,dpl	mov	r6,dph	mov	r0,dpx	mov	r1,b	pop	ar7	pop	ar4	pop	ar3	pop	ar2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_output_float_decimalPart_1_1	mov	a,r5	movx	@dptr,a	inc	dptr	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r0	movx	@dptr,a	inc	dptr	mov	a,r1	movx	@dptr,a;	vprintf.c 205;	genCall 	push	ar2	push	ar3	push	ar4	push	ar7	mov	dptr,#_output_float_decimalPart_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	b,a	mov	dpx,r4	mov	dph,r3	mov	dpl,r2	lcall	___fs2slong	mov	r5,dpl	mov	r6,dph	mov	r0,dpx	mov	r1,b	pop	ar7	pop	ar4	pop	ar3	pop	ar2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_output_float_integerPart_1_1	mov	a,r5	movx	@dptr,a	inc	dptr	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r0	movx	@dptr,a	inc	dptr	mov	a,r1	movx	@dptr,a;	vprintf.c 206;	genAssign ;	genAssign: resultIsFar = FALSE	mov	ar5,r4;	genPlus 	inc	r4;	did genPlusIncr;	genPlus 	mov	a,r5	add	a,#_output_float_fpBuffer_1_1	mov	r5,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_output_float_fpBuffer_1_1 >> 8)	mov	r6,a; Peephole 180   changed mov to clr	clr  a	addc	a,#(_output_float_fpBuffer_1_1 >> 16)	mov	r0,a;	genPlus 	mov	dptr,#_output_float_integerPart_1_1	mov	dps, #0x01	mov	dptr, #_output_float_sloc1_1_0	dec	dps;	Swapped plus args.	movx	a,@dptr	add	a,#0x30	inc	dps	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	addc	a,#0x00	inc	dps	inc	dptr	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	addc	a,#0x00	inc	dps	inc	dptr	movx	@dptr,a	dec	dps	inc	dptr	movx	a,@dptr	addc	a,#0x00	inc	dps	inc	dptr	movx	@dptr,a	mov	dps, #0x00;	genCast 	mov	dptr,#_output_float_sloc1_1_0	movx	a,@dptr;	genPointerSet ; Peephole 136a   removed redundant moves	mov  r1,a	mov  dpl,r5	mov  dph,r6	mov  dpx,r0	movx	@dptr,a;	vprintf.c 207;	genCall 	push	ar2	push	ar3	push	ar4	push	ar7	mov	dptr,#_output_float_integerPart_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	b,a	mov	dpx,r4	mov	dph,r3	mov	dpl,r2	lcall	___slong2fs	mov	r5,dpl	mov	r6,dph	mov	r0,dpx	mov	r1,b	pop	ar7	pop	ar4	pop	ar3	pop	ar2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#___fssub_PARM_2	mov	a,r5	movx	@dptr,a	inc	dptr	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r0	movx	@dptr,a	inc	dptr	mov	a,r1	movx	@dptr,a;	genCall 	push	ar2	push	ar3	push	ar4	push	ar7	mov	dptr,#_output_float_decimalPart_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	b,a	mov	dpx,r4	mov	dph,r3	mov	dpl,r2	lcall	___fssub	mov	r5,dpl	mov	r6,dph	mov	r0,dpx	mov	r1,b	pop	ar7	pop	ar4	pop	ar3	pop	ar2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_output_float_decimalPart_1_1	mov	a,r5	movx	@dptr,a	inc	dptr	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r0	movx	@dptr,a	inc	dptr	mov	a,r1	movx	@dptr,a;	vprintf.c 208;	genMinus 	dec	r2;	genAssign ;	genAssign: resultIsFar = TRUE	mov	ar3,r2;	genIfx 	mov	a,r2;	genIfxJump 	jz	00213$	ljmp	00110$00213$:;	genLabel 00114$:;	vprintf.c 211;	genAssign ;	genAssign: resultIsFar = TRUE	mov	ar2,r7;	vprintf.c 212;	genIfx 	mov	dptr,#_output_float_PARM_3	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00172$00214$:;	genPlus 	mov	dptr,#_output_float_PARM_3;	Swapped plus args.	movx	a,@dptr	add	a,#0x01	mov	r4,a;	genGoto ;	genLabel ; Peephole 132   changed ljmp to sjmp	sjmp 00173$00172$:;	genAssign ;	genAssign: resultIsFar = FALSE	mov	r4,#0x00;	genLabel 00173$:;	genPlus 	mov	a,r4	add	a,r2	mov	r2,a;	vprintf.c 213;	genIfx 	mov	dptr,#_output_float_negative_1_1	movx	a,@dptr;	genIfxJump ; Peephole 109   removed ljmp by inverse jump logic	jnz  00115$00215$:;	genIfx 	mov	dptr,#_output_float_PARM_6	movx	a,@dptr;	genIfxJump ; Peephole 109   removed ljmp by inverse jump logic	jnz  00115$00216$:;	genIfx 	mov	dptr,#_output_float_PARM_7	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00116$00217$:;	genLabel 00115$:;	vprintf.c 214;	genPlus 	inc	r2;	did genPlusIncr;	genLabel 00116$:;	vprintf.c 216;	genIfx 	mov	dptr,#_output_float_PARM_4	movx	a,@dptr;	genIfxJump 	jz	00218$	ljmp	00153$00218$:;	genCmpGt 	mov	dptr,#_output_float_PARM_2;	genCmp	clr	c;	genCmp #1: 0/0/0	mov	a,r3;	genCmp #2;	genCmp #4;	genCmp #4.1	xch	a, b	movx	a,@dptr	xch	a, b	subb	a,b;	genIfxJump 	jc	00219$	ljmp	00153$00219$:;	vprintf.c 217;	genIfx 	mov	dptr,#_output_float_PARM_5	movx	a,@dptr;	genIfxJump 	jnz	00220$	ljmp	00130$00220$:;	vprintf.c 218;	genIfx 	mov	dptr,#_output_float_negative_1_1	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00125$00221$:;	genCall 	push	ar2	push	ar3	push	ar7	mov	dpl,#0x2D	lcall	_output_char	pop	ar7	pop	ar3	pop	ar2;	genGoto ;	genLabel ; Peephole 132   changed ljmp to sjmp	sjmp 00127$00125$:;	vprintf.c 219;	genIfx 	mov	dptr,#_output_float_PARM_6	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00122$00222$:;	genCall 	push	ar2	push	ar3	push	ar7	mov	dpl,#0x2B	lcall	_output_char	pop	ar7	pop	ar3	pop	ar2;	genGoto ;	genLabel ; Peephole 132   changed ljmp to sjmp	sjmp 00127$00122$:;	vprintf.c 220;	genIfx 	mov	dptr,#_output_float_PARM_7	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00127$00223$:;	genCall 	push	ar2	push	ar3	push	ar7	mov	dpl,#0x20	lcall	_output_char	pop	ar7	pop	ar3	pop	ar2;	vprintf.c 221;	genLabel 00127$:;	genAssign 	mov	dptr,#_output_float_PARM_2;	genAssign: resultIsFar = FALSE	movx	a,@dptr;	genMinus ; Peephole 105   removed redundant mov	mov  r4,a	dec	a;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_output_float_PARM_2	movx	@dptr,a;	genCmpGt ;	genCmp	clr	c;	genCmp #1: 0/0/0	mov	a,r2;	genCmp #2;	genCmp #4;	genCmp #4.2	subb	a,r4;	genIfxJump 	jc	00224$	ljmp	00154$00224$:;	vprintf.c 222;	genCall 	push	ar2	push	ar3	push	ar7	mov	dpl,#0x30	lcall	_output_char	pop	ar7	pop	ar3	pop	ar2;	genGoto ;	vprintf.c 224;	genLabel ; Peephole 132   changed ljmp to sjmp	sjmp 00127$00130$:;	genAssign 	mov	dptr,#_output_float_PARM_2;	genAssign: resultIsFar = FALSE	movx	a,@dptr;	genMinus ; Peephole 105   removed redundant mov	mov  r4,a	dec	a;	genAssign ;	genAssign: resultIsFar = TRUE	mov	dptr,#_output_float_PARM_2	movx	@dptr,a;	genCmpGt ;	genCmp	clr	c;	genCmp #1: 0/0/0	mov	a,r2;	genCmp #2;	genCmp #4;	genCmp #4.2	subb	a,r4;	genIfxJump ; Peephole 108   removed ljmp by inverse jump logic	jnc  00132$00225$:;	vprintf.c 225;	genCall 	push	ar2	push	ar3	push	ar7	mov	dpl,#0x20	lcall	_output_char	pop	ar7	pop	ar3	pop	ar2;	genGoto ;	genLabel ; Peephole 132   changed ljmp to sjmp	sjmp 00130$00132$:;	vprintf.c 226;	genIfx 	mov	dptr,#_output_float_negative_1_1	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00139$00226$:;	genCall 	push	ar2	push	ar3	push	ar7	mov	dpl,#0x2D	lcall	_output_char	pop	ar7	pop	ar3	pop	ar2;	genGoto 	ljmp	00154$;	genLabel 00139$:;	vprintf.c 227;	genIfx 	mov	dptr,#_output_float_PARM_6	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00136$00227$:;	genCall 	push	ar2	push	ar3	push	ar7	mov	dpl,#0x2B	lcall	_output_char	pop	ar7	pop	ar3	pop	ar2;	genGoto 	ljmp	00154$;	genLabel 00136$:;	vprintf.c 228;	genIfx 	mov	dptr,#_output_float_PARM_7	movx	a,@dptr;	genIfxJump 	jnz	00228$	ljmp	00154$00228$:;	genCall 	push	ar2	push	ar3	push	ar7	mov	dpl,#0x20	lcall	_output_char	pop	ar7	pop	ar3	pop	ar2;	genGoto ;	genLabel ; Peephole 132   changed ljmp to sjmp	sjmp 00154$00153$:;	vprintf.c 231;	genIfx 	mov	dptr,#_output_float_negative_1_1	movx	a,@dptr;	genIfxJump ; Peephole 110   removed ljmp by inverse jump logic	jz  00150$00229$:;	genCall 

⌨️ 快捷键说明

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