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

📄 vprintf.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
📖 第 1 页 / 共 2 页
字号:
; Peephole 132   changed ljmp to sjmp	sjmp 00133$00321$:;	vprintf.c 385	mov	dpl,#0x20	push	ar3	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5	pop	ar3;	vprintf.c 389; Peephole 132   changed ljmp to sjmp	sjmp 00127$00133$:	mov	dpl,_value	mov	dph,(_value + 1)	mov	b,(_value + 2)	lcall	__gptrget; Peephole 105   removed redundant mov	mov  r3,a; Peephole 110   removed ljmp by inverse jump logic	jz  00135$00322$:;	vprintf.c 390	mov	r3,_value	mov	r4,(_value + 1)	mov	r7,(_value + 2)	mov	a,#0x01	add	a,r3	mov	r0,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	mov	r1,a	mov	ar2,r7	mov	_value,r0	mov	(_value + 1),r1	mov	(_value + 2),r2	mov	dpl,r3	mov	dph,r4	mov	b,r7	lcall	__gptrget	mov	r3,a	mov	dpl,r3	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5; Peephole 132   changed ljmp to sjmp	sjmp 00133$00135$:;	vprintf.c 392	jb	_vsprintf_left_justify_1_1,00323$	ljmp	00153$00323$:	clr	c	mov	a,_vsprintf_length_1_1	subb	a,r5	jc	00324$	ljmp	00153$00324$:;	vprintf.c 394	clr	c	mov	a,r5	subb	a,_vsprintf_length_1_1	mov	r5,a;	vprintf.c 395	mov	ar2,r500136$:	mov	ar3,r2	dec	r2	mov	ar5,r2	cjne	r3,#0x00,00325$	ljmp	00153$00325$:;	vprintf.c 397	mov	dpl,#0x20	push	ar2	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5	pop	ar2;	vprintf.c 403; Peephole 132   changed ljmp to sjmp	sjmp 00136$00142$:	mov	a,_vsprintf_PARM_3	add	a,#0xfd	mov	r0,a	mov	_vsprintf_PARM_3,r0	mov	ar2,@r0	mov	r3,#0x00	mov	r4,#0x00	mov	_value,r2	mov	(_value + 1),r3	mov	(_value + 2),r4;	vprintf.c 414; Peephole 221a remove redundant move	clr	c	mov	a,#0x03	subb	a,0x0002 + _value; Peephole 108   removed ljmp by inverse jump logic	jnc  00217$00326$:	mov	r2,#0x04; Peephole 132   changed ljmp to sjmp	sjmp 00218$00217$:	mov	r2,(_value + 0x0002)00218$:	mov	a,r2; Peephole 180   changed mov to clr; Peephole 186   optimized movc sequence	mov  dptr,#_memory_id	movc a,@a+dptr	mov	r2,a	mov	dpl,r2	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5;	vprintf.c 415	mov	dpl,#0x3A	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5;	vprintf.c 416	mov	dpl,#0x30	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5;	vprintf.c 417	mov	dpl,#0x78	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5;	vprintf.c 418; Peephole 221a remove redundant move	mov	a,0x0002 + _value; Peephole 110   removed ljmp by inverse jump logic	jz  00144$00327$:;	vprintf.c 419; Peephole 221a remove redundant move	mov	a,0x0002 + _value	cjne	a,#0x03,00328$; Peephole 132   changed ljmp to sjmp	sjmp 00144$00328$:;	vprintf.c 420	mov	dpl,(_value + 0x0001)	push	ar5	push	ar6	lcall	_output_2digits	pop	ar6	pop	ar500144$:;	vprintf.c 421	mov	dpl,_value	push	ar5	push	ar6	lcall	_output_2digits	pop	ar6	pop	ar5;	vprintf.c 423;	vprintf.c 427; Peephole 132   changed ljmp to sjmp	sjmp 00153$00146$:	setb	_vsprintf_signed_argument_1_1;	vprintf.c 428	mov	_radix,#0x0A;	vprintf.c 429;	vprintf.c 432; Peephole 132   changed ljmp to sjmp	sjmp 00153$00148$:	mov	_radix,#0x08;	vprintf.c 433;	vprintf.c 436; Peephole 132   changed ljmp to sjmp	sjmp 00153$00149$:	mov	_radix,#0x0A;	vprintf.c 437;	vprintf.c 440; Peephole 132   changed ljmp to sjmp	sjmp 00153$00150$:	mov	_radix,#0x10;	vprintf.c 441;	vprintf.c 444; Peephole 132   changed ljmp to sjmp	sjmp 00153$00151$:	setb	_vsprintf_float_argument_1_1;	vprintf.c 445;	vprintf.c 449; Peephole 132   changed ljmp to sjmp	sjmp 00153$00152$:	mov	dpl,r6	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5;	vprintf.c 45100153$:;	vprintf.c 453	jb	_vsprintf_float_argument_1_1,00329$	ljmp	00204$00329$:;	vprintf.c 454	mov	a,_vsprintf_PARM_3	add	a,#0xfc	mov	r0,a	mov	_vsprintf_PARM_3,r0	mov	ar2,@r0	inc	r0	mov	ar3,@r0	inc	r0	mov	ar4,@r0	inc	r0	mov	ar7,@r0	dec	r0	dec	r0	dec	r0	mov	_value,r2	mov	(_value + 1),r3	mov	(_value + 2),r4	mov	(_value + 3),r7;	vprintf.c 456	mov	r2,#__str_0	mov	r3,#(__str_0 >> 8)	mov	r4,#0x02	mov	_value,r2	mov	(_value + 1),r3	mov	(_value + 2),r4;	vprintf.c 45700154$:	mov	r2,_value	mov	r3,(_value + 1)	mov	r4,(_value + 2)	mov	a,#0x01	add	a,r2	mov	r7,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	mov	r0,a	mov	ar1,r4	mov	_value,r7	mov	(_value + 1),r0	mov	(_value + 2),r1	mov	dpl,r2	mov	dph,r3	mov	b,r4	lcall	__gptrget; Peephole 166   removed redundant mov	mov  r2,a	mov  ar6,r2 	jnz	00330$	ljmp	00209$00330$:;	vprintf.c 458	mov	dpl,r6	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5; Peephole 132   changed ljmp to sjmp	sjmp 00154$00204$:;	vprintf.c 469	mov	a,_radix	jnz	00331$	ljmp	00209$00331$:;	vprintf.c 475; Peephole 111   removed ljmp by inverse jump logic	jnb  _vsprintf_char_argument_1_1,00165$00332$:;	vprintf.c 477	mov	a,_vsprintf_PARM_3	dec	a	mov	r0,a	mov	_vsprintf_PARM_3,r0	mov	ar2,@r0	mov	a,r2	rlc	a	subb	a,acc	mov	r3,a	mov	r4,a	mov	r7,a	mov	_value,r2	mov	(_value + 1),r3	mov	(_value + 2),r4	mov	(_value + 3),r7;	vprintf.c 478	jnb	_vsprintf_signed_argument_1_1,00333$	ljmp	00166$00333$:;	vprintf.c 480	mov	(_value + 0x0001),#0x00;	vprintf.c 481	mov	(_value + 0x0002),#0x00;	vprintf.c 482	mov	(_value + 0x0003),#0x00; Peephole 132   changed ljmp to sjmp	sjmp 00166$00165$:;	vprintf.c 485; Peephole 111   removed ljmp by inverse jump logic	jnb  _vsprintf_long_argument_1_1,00162$00334$:;	vprintf.c 487	mov	a,_vsprintf_PARM_3	add	a,#0xfc	mov	r0,a	mov	_vsprintf_PARM_3,r0	mov	ar2,@r0	inc	r0	mov	ar3,@r0	inc	r0	mov	ar4,@r0	inc	r0	mov	ar7,@r0	dec	r0	dec	r0	dec	r0	mov	_value,r2	mov	(_value + 1),r3	mov	(_value + 2),r4	mov	(_value + 3),r7; Peephole 132   changed ljmp to sjmp	sjmp 00166$00162$:;	vprintf.c 491	mov	a,_vsprintf_PARM_3	add	a,#0xfe	mov	r0,a	mov	_vsprintf_PARM_3,r0	mov	ar2,@r0	inc	r0	mov	ar3,@r0	dec	r0	mov	a,r3	rlc	a	subb	a,acc	mov	r4,a	mov	r7,a	mov	_value,r2	mov	(_value + 1),r3	mov	(_value + 2),r4	mov	(_value + 3),r7;	vprintf.c 492; Peephole 112   removed ljmp by inverse jump logic	jb   _vsprintf_signed_argument_1_1,00166$00335$:;	vprintf.c 494	mov	(_value + 0x0002),#0x00;	vprintf.c 495	mov	(_value + 0x0003),#0x0000166$:;	vprintf.c 499; Peephole 111   removed ljmp by inverse jump logic	jnb  _vsprintf_signed_argument_1_1,00171$00336$:;	vprintf.c 501	mov	a,(_value + 3); Peephole 111   removed ljmp by inverse jump logic	jnb  acc.7,00168$00337$:;	vprintf.c 502	clr	c	clr	a	subb	a,_value	mov	r2,a	clr	a	subb	a,(_value + 1)	mov	r3,a	clr	a	subb	a,(_value + 2)	mov	r4,a	clr	a	subb	a,(_value + 3)	mov	r7,a	mov	_value,r2	mov	(_value + 1),r3	mov	(_value + 2),r4	mov	(_value + 3),r7; Peephole 132   changed ljmp to sjmp	sjmp 00171$00168$:;	vprintf.c 504	clr	_vsprintf_signed_argument_1_100171$:;	vprintf.c 508	setb	_lsd;	vprintf.c 511	mov	r2,#0x0000175$:;	vprintf.c 512	mov	(_value + 0x0004),#0x00;	vprintf.c 513	push	ar2	push	ar5	push	ar6	lcall	_calculate_digit	pop	ar6	pop	ar5	pop	ar2;	vprintf.c 527	  jb _lsd,1$	  pop b ; b = <lsd>	  mov a,_value+4 ; a = <msd>	  swap a	  orl b,a ; b = <msd><lsd>	  push b	  sjmp 2$1$:	  mov a,_value+4 ; a = <lsd>	  push acc2$:;	vprintf.c 529	inc	r2;	vprintf.c 530; Peephole 167   removed redundant bit moves (c not set to _lsd)	cpl  _lsd ;	vprintf.c 531	mov	a,_value; Peephole 162   removed sjmp by inverse jump logic	jz   00339$00338$:; Peephole 132   changed ljmp to sjmp	sjmp 00175$00339$:; Peephole 221a remove redundant move	mov	a,0x0001 + _value; Peephole 162   removed sjmp by inverse jump logic	jz   00341$00340$:; Peephole 132   changed ljmp to sjmp	sjmp 00175$00341$:;	vprintf.c 532; Peephole 221a remove redundant move	mov	a,0x0002 + _value; Peephole 162   removed sjmp by inverse jump logic	jz   00343$00342$:; Peephole 132   changed ljmp to sjmp	sjmp 00175$00343$:; Peephole 221a remove redundant move	mov	a,0x0003 + _value	jnz	00344$	mov	a,#0x01	sjmp	00345$00344$:	clr	a00345$:	mov	r3,a	mov	_vsprintf_length_1_1,r2	mov	a,r3	jnz	00346$	ljmp	00175$00346$:;	vprintf.c 534; Peephole 132   changed ljmp to sjmp; Peephole 199   optimized misc jump sequence	cjne r5,#0x00,00179$;00347$:; Peephole 200   removed redundant sjmp00348$:;	vprintf.c 539	mov	r5,#0x0100179$:;	vprintf.c 543; Peephole 112   removed ljmp by inverse jump logic	jb   _vsprintf_zero_padding_1_1,00184$00349$:;	vprintf.c 545	mov	a,#0x01	add	a,_vsprintf_length_1_1	mov	r2,a	mov	ar3,r500180$:	clr	c	mov	a,r2	subb	a,r3	clr	a	rlc	a	mov	r2,a	mov	ar5,r3	mov	a,r2; Peephole 110   removed ljmp by inverse jump logic	jz  00184$00350$:;	vprintf.c 547	mov	dpl,#0x20	push	ar3	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5	pop	ar3;	vprintf.c 548	dec	r3; Peephole 132   changed ljmp to sjmp	sjmp 00180$00184$:;	vprintf.c 552; Peephole 111   removed ljmp by inverse jump logic	jnb  _vsprintf_signed_argument_1_1,00193$00351$:;	vprintf.c 554	mov	dpl,#0x2D	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5;	vprintf.c 556	dec	r5; Peephole 132   changed ljmp to sjmp	sjmp 00283$00193$:;	vprintf.c 558	mov	a,_vsprintf_length_1_1; Peephole 110   removed ljmp by inverse jump logic	jz  00283$00352$:;	vprintf.c 561; Peephole 111   removed ljmp by inverse jump logic	jnb  _vsprintf_prefix_sign_1_1,00188$00353$:;	vprintf.c 563	mov	dpl,#0x2B	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5;	vprintf.c 565	dec	r5; Peephole 132   changed ljmp to sjmp	sjmp 00283$00188$:;	vprintf.c 567; Peephole 111   removed ljmp by inverse jump logic	jnb  _vsprintf_prefix_space_1_1,00283$00354$:;	vprintf.c 569	mov	dpl,#0x20	push	ar5	push	ar6	lcall	_output_char	pop	ar6	pop	ar5;	vprintf.c 571	dec	r5;	vprintf.c 57600283$:	mov	ar2,r500195$:	mov	ar3,r2	dec	r2	clr	c	mov	a,_vsprintf_length_1_1	subb	a,r3; Peephole 108   removed ljmp by inverse jump logic	jnc  00285$00355$:;	vprintf.c 578; Peephole 111   removed ljmp by inverse jump logic	jnb  _vsprintf_zero_padding_1_1,00219$00356$:	mov	r3,#0x30; Peephole 132   changed ljmp to sjmp	sjmp 00220$00219$:	mov	r3,#0x2000220$:	mov	dpl,r3	push	ar2	push	ar6	lcall	_output_char	pop	ar6	pop	ar2;	vprintf.c 582; Peephole 132   changed ljmp to sjmp	sjmp 00195$00285$:	mov	r2,_vsprintf_length_1_100198$:	mov	ar3,r2	dec	r2	mov	a,r3	jnz	00357$	ljmp	00209$00357$:;	vprintf.c 584; Peephole 167   removed redundant bit moves (c not set to _lsd)	cpl  _lsd ;	vprintf.c 599	  jb _lsd,3$	  pop acc ; a = <msd><lsd>	  nop ; to disable the "optimizer"	  push acc	  swap a	  anl a,#0x0F ; a = <msd>	  sjmp 4$3$:	  pop acc	  anl a,#0x0F ; a = <lsd>4$:	  mov _value+4,a;	vprintf.c 601	mov	dpl,(_value + 0x0004)	push	ar2	push	ar6	lcall	_output_digit	pop	ar6	pop	ar2; Peephole 132   changed ljmp to sjmp	sjmp 00198$00207$:;	vprintf.c 608	mov	dpl,r6	lcall	_output_char	ljmp	00209$00211$:;	vprintf.c 614; Peephole 111   removed ljmp by inverse jump logic	jnb  _output_to_string,00213$00358$:;	vprintf.c 615	mov	dpl,#0x00	lcall	_output_char;	vprintf.c 616	mov	a,_charsOutputted	add	a,#0xff	mov	dpl,a	mov	a,(_charsOutputted + 1)	addc	a,#0xff	mov	dph,a; Peephole 132   changed ljmp to sjmp	sjmp 00215$00213$:;	vprintf.c 618	mov	dpl,_charsOutputted	mov	dph,(_charsOutputted + 1)00215$:	ret;------------------------------------------------------------;Allocation info for local variables in function 'vprintf';------------------------------------------------------------;ap                        Allocated to in memory with name '_vprintf_PARM_2';format                    Allocated to registers ;	vprintf.c 624;	-----------------------------------------;	 function vprintf;	-----------------------------------------_vprintf:;	vprintf.c 626	mov	_vsprintf_PARM_2,dpl	mov	(_vsprintf_PARM_2 + 1),dph	mov	(_vsprintf_PARM_2 + 2),b	mov	_vsprintf_PARM_3,_vprintf_PARM_2; Peephole 181   used 16 bit load of dptr	mov  dptr,#0x0000	mov	b,#0x00	lcall	_vsprintf00101$:	ret	.area CSEG    (CODE)_memory_id:	.ascii "IXCP-"	.db 0x00__str_0:	.ascii "<NO FLOAT>"	.db 0x00

⌨️ 快捷键说明

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