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

📄 _fsdiv.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:13 2001;--------------------------------------------------------	.module _fsdiv	;--------------------------------------------------------; Public variables in this module;--------------------------------------------------------	.globl ___fsdiv_PARM_2	.globl ___fsdiv;--------------------------------------------------------; special function registers;--------------------------------------------------------;--------------------------------------------------------; special function bits ;--------------------------------------------------------;--------------------------------------------------------; internal ram data;--------------------------------------------------------	.area DSEG    (DATA);--------------------------------------------------------; overlayable items in internal ram ;--------------------------------------------------------	.area _DUMMY	.area	OSEG    (OVR,DATA)___fsdiv_PARM_2::	.ds 4___fsdiv_fl1_1_1::	.ds 4___fsdiv_fl2_1_1::	.ds 4___fsdiv_result_1_1::	.ds 4___fsdiv_mask_1_1::	.ds 4___fsdiv_mant1_1_1::	.ds 4___fsdiv_mant2_1_1::	.ds 4___fsdiv_exp_1_1::	.ds 2;--------------------------------------------------------; indirectly addressable internal ram data;--------------------------------------------------------	.area ISEG    (DATA);--------------------------------------------------------; bit data;--------------------------------------------------------	.area BSEG    (BIT);--------------------------------------------------------; external ram data;--------------------------------------------------------	.area XSEG    (XDATA);--------------------------------------------------------; global & static initialisations;--------------------------------------------------------	.area GSINIT  (CODE)	.area GSFINAL (CODE)	.area GSINIT  (CODE);--------------------------------------------------------; Home;--------------------------------------------------------	.area HOME	 (CODE)	.area CSEG    (CODE);--------------------------------------------------------; code;--------------------------------------------------------	.area CSEG    (CODE);------------------------------------------------------------;Allocation info for local variables in function '__fsdiv';------------------------------------------------------------;	_fsdiv.c 73;	-----------------------------------------;	 function __fsdiv;	-----------------------------------------___fsdiv:	ar2 = 0x02	ar3 = 0x03	ar4 = 0x04	ar5 = 0x05	ar6 = 0x06	ar7 = 0x07	ar0 = 0x00	ar1 = 0x01;	_fsdiv.c 138	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	r5,a;	_fsdiv.c 82	mov	___fsdiv_fl1_1_1,r2	mov	(___fsdiv_fl1_1_1 + 1),r3	mov	(___fsdiv_fl1_1_1 + 2),r4	mov	(___fsdiv_fl1_1_1 + 3),r5;	_fsdiv.c 83	mov	___fsdiv_fl2_1_1,___fsdiv_PARM_2	mov	(___fsdiv_fl2_1_1 + 1),(___fsdiv_PARM_2 + 1)	mov	(___fsdiv_fl2_1_1 + 2),(___fsdiv_PARM_2 + 2)	mov	(___fsdiv_fl2_1_1 + 3),(___fsdiv_PARM_2 + 3);	_fsdiv.c 86	mov	r2,(___fsdiv_fl1_1_1 + 2)	mov	a,(___fsdiv_fl1_1_1 + 3)	mov	c,acc.7	xch	a,r2	rlc	a	xch	a,r2	rlc	a	xch	a,r2	anl	a,#0x01	mov	r3,a	mov	r4,#0x00	mov	r5,#0x00	mov	r3,#0x00	mov	r4,#0x00	mov	r5,#0x00	mov	___fsdiv_exp_1_1,r2	mov	(___fsdiv_exp_1_1 + 1),r3;	_fsdiv.c 87	mov	r2,(___fsdiv_fl2_1_1 + 2)	mov	a,(___fsdiv_fl2_1_1 + 3)	mov	c,acc.7	xch	a,r2	rlc	a	xch	a,r2	rlc	a	xch	a,r2	anl	a,#0x01	mov	r3,a	mov	r4,#0x00	mov	r5,#0x00	mov	r3,#0x00	mov	r4,#0x00	mov	r5,#0x00	mov	r6,___fsdiv_exp_1_1	mov	r7,(___fsdiv_exp_1_1 + 1)	mov	a,(___fsdiv_exp_1_1 + 1)	rlc	a	subb	a,acc	mov	r0,a	mov	r1,a	clr	c	mov	a,r6	subb	a,r2	mov	r2,a	mov	a,r7	subb	a,r3	mov	r3,a	mov	a,r0	subb	a,r4	mov	r4,a	mov	a,r1	subb	a,r5	mov	r5,a	mov	___fsdiv_exp_1_1,r2	mov	(___fsdiv_exp_1_1 + 1),r3;	_fsdiv.c 88	mov	a,#0x7E	add	a,___fsdiv_exp_1_1	mov	___fsdiv_exp_1_1,a; Peephole 180   changed mov to clr	clr  a	addc	a,(___fsdiv_exp_1_1 + 1)	mov	(___fsdiv_exp_1_1 + 1),a;	_fsdiv.c 91	mov	a,(___fsdiv_fl1_1_1 + 3)	rl	a	anl	a,#0x01	mov	r2,a	mov	a,(___fsdiv_fl2_1_1 + 3)	rl	a	anl	a,#0x01; Peephole 105   removed redundant mov	mov  r3,a	xrl	ar2,a;	_fsdiv.c 94	mov	a,___fsdiv_fl2_1_1	orl	a,(___fsdiv_fl2_1_1 + 1)	orl	a,(___fsdiv_fl2_1_1 + 2)	orl	a,(___fsdiv_fl2_1_1 + 3); Peephole 109   removed ljmp by inverse jump logic	jnz  00102$00120$:;	_fsdiv.c 96; Peephole 181   used 16 bit load of dptr	mov  dptr,#0x0000	mov	b,#0x80	mov	a,#0xBF	ljmp	00112$00102$:;	_fsdiv.c 99	mov	a,___fsdiv_fl1_1_1	orl	a,(___fsdiv_fl1_1_1 + 1)	orl	a,(___fsdiv_fl1_1_1 + 2)	orl	a,(___fsdiv_fl1_1_1 + 3); Peephole 109   removed ljmp by inverse jump logic	jnz  00104$00121$:;	_fsdiv.c 100; Peephole 3.a   changed mov to clr; Peephole 3.b   changed mov to clr; Peephole 3.b   changed mov to clr	clr  a	mov  dpl,a	mov  dph,a	mov  b,a	ljmp	00112$00104$:;	_fsdiv.c 103	mov	r3,___fsdiv_fl1_1_1	mov	r4,(___fsdiv_fl1_1_1 + 1)	mov	r5,(___fsdiv_fl1_1_1 + 2)	mov	r6,(___fsdiv_fl1_1_1 + 3)	anl	ar5,#0x7F	mov	r6,#0x00	mov	___fsdiv_mant1_1_1,r3	mov	(___fsdiv_mant1_1_1 + 1),r4	mov	a,#0x80	orl	a,r5	mov	(___fsdiv_mant1_1_1 + 2),a	mov	(___fsdiv_mant1_1_1 + 3),r6;	_fsdiv.c 104	mov	r3,___fsdiv_fl2_1_1	mov	r4,(___fsdiv_fl2_1_1 + 1)	mov	r5,(___fsdiv_fl2_1_1 + 2)	mov	r6,(___fsdiv_fl2_1_1 + 3)	anl	ar5,#0x7F	mov	r6,#0x00	mov	___fsdiv_mant2_1_1,r3	mov	(___fsdiv_mant2_1_1 + 1),r4	mov	a,#0x80	orl	a,r5	mov	(___fsdiv_mant2_1_1 + 2),a	mov	(___fsdiv_mant2_1_1 + 3),r6;	_fsdiv.c 107	clr	c	mov	a,___fsdiv_mant1_1_1	subb	a,___fsdiv_mant2_1_1	mov	a,(___fsdiv_mant1_1_1 + 1)	subb	a,(___fsdiv_mant2_1_1 + 1)	mov	a,(___fsdiv_mant1_1_1 + 2)	subb	a,(___fsdiv_mant2_1_1 + 2)	mov	a,(___fsdiv_mant1_1_1 + 3)	xrl	a,#0x80	mov	b,(___fsdiv_mant2_1_1 + 3)	xrl	b,#0x80	subb	a,b; Peephole 108   removed ljmp by inverse jump logic	jnc  00106$00122$:;	_fsdiv.c 109	mov	a,___fsdiv_mant1_1_1	add	a,acc	mov	___fsdiv_mant1_1_1,a	mov	a,(___fsdiv_mant1_1_1 + 1)	rlc	a	mov	(___fsdiv_mant1_1_1 + 1),a	mov	a,(___fsdiv_mant1_1_1 + 2)	rlc	a	mov	(___fsdiv_mant1_1_1 + 2),a	mov	a,(___fsdiv_mant1_1_1 + 3)	rlc	a	mov	(___fsdiv_mant1_1_1 + 3),a;	_fsdiv.c 110	dec	___fsdiv_exp_1_1	mov	a,#0xff	cjne	a,___fsdiv_exp_1_1,00123$	dec	(___fsdiv_exp_1_1 + 1)00123$:00106$:;	_fsdiv.c 114	mov	___fsdiv_mask_1_1,#0x00	mov	(___fsdiv_mask_1_1 + 1),#0x00	mov	(___fsdiv_mask_1_1 + 2),#0x00	mov	(___fsdiv_mask_1_1 + 3),#0x01;	_fsdiv.c 115	clr	a	mov	(___fsdiv_result_1_1 + 3),a	mov	(___fsdiv_result_1_1 + 2),a	mov	(___fsdiv_result_1_1 + 1),a	mov	___fsdiv_result_1_1,a;	_fsdiv.c 11600109$:	mov	a,___fsdiv_mask_1_1	orl	a,(___fsdiv_mask_1_1 + 1)	orl	a,(___fsdiv_mask_1_1 + 2)	orl	a,(___fsdiv_mask_1_1 + 3)	jnz	00124$	ljmp	00111$00124$:;	_fsdiv.c 118	clr	c	mov	a,___fsdiv_mant1_1_1	subb	a,___fsdiv_mant2_1_1	mov	a,(___fsdiv_mant1_1_1 + 1)	subb	a,(___fsdiv_mant2_1_1 + 1)	mov	a,(___fsdiv_mant1_1_1 + 2)	subb	a,(___fsdiv_mant2_1_1 + 2)	mov	a,(___fsdiv_mant1_1_1 + 3)	xrl	a,#0x80	mov	b,(___fsdiv_mant2_1_1 + 3)	xrl	b,#0x80	subb	a,b; Peephole 132   changed ljmp to sjmp; Peephole 160   removed sjmp by inverse jump logic	jc   00108$00125$:;	_fsdiv.c 120	mov	r3,___fsdiv_result_1_1	mov	r4,(___fsdiv_result_1_1 + 1)	mov	r5,(___fsdiv_result_1_1 + 2)	mov	r6,(___fsdiv_result_1_1 + 3)	mov	a,___fsdiv_mask_1_1	orl	a,r3	mov	___fsdiv_result_1_1,a	mov	a,(___fsdiv_mask_1_1 + 1)	orl	a,r4	mov	(___fsdiv_result_1_1 + 1),a	mov	a,(___fsdiv_mask_1_1 + 2)	orl	a,r5	mov	(___fsdiv_result_1_1 + 2),a	mov	a,(___fsdiv_mask_1_1 + 3)	orl	a,r6	mov	(___fsdiv_result_1_1 + 3),a;	_fsdiv.c 121	clr	c	mov	a,___fsdiv_mant1_1_1	subb	a,___fsdiv_mant2_1_1	mov	___fsdiv_mant1_1_1,a	mov	a,(___fsdiv_mant1_1_1 + 1)	subb	a,(___fsdiv_mant2_1_1 + 1)	mov	(___fsdiv_mant1_1_1 + 1),a	mov	a,(___fsdiv_mant1_1_1 + 2)	subb	a,(___fsdiv_mant2_1_1 + 2)	mov	(___fsdiv_mant1_1_1 + 2),a	mov	a,(___fsdiv_mant1_1_1 + 3)	subb	a,(___fsdiv_mant2_1_1 + 3)	mov	(___fsdiv_mant1_1_1 + 3),a00108$:;	_fsdiv.c 123	mov	a,___fsdiv_mant1_1_1	add	a,acc	mov	___fsdiv_mant1_1_1,a	mov	a,(___fsdiv_mant1_1_1 + 1)	rlc	a	mov	(___fsdiv_mant1_1_1 + 1),a	mov	a,(___fsdiv_mant1_1_1 + 2)	rlc	a	mov	(___fsdiv_mant1_1_1 + 2),a	mov	a,(___fsdiv_mant1_1_1 + 3)	rlc	a	mov	(___fsdiv_mant1_1_1 + 3),a;	_fsdiv.c 124	mov	a,(___fsdiv_mask_1_1 + 3)	clr	c	rrc	a	mov	(___fsdiv_mask_1_1 + 3),a	mov	a,(___fsdiv_mask_1_1 + 2)	rrc	a	mov	(___fsdiv_mask_1_1 + 2),a	mov	a,(___fsdiv_mask_1_1 + 1)	rrc	a	mov	(___fsdiv_mask_1_1 + 1),a	mov	a,___fsdiv_mask_1_1	rrc	a	mov	___fsdiv_mask_1_1,a	ljmp	00109$00111$:;	_fsdiv.c 128	inc	___fsdiv_result_1_1	clr	a	cjne	a,___fsdiv_result_1_1,00126$	inc	(___fsdiv_result_1_1 + 1)	cjne	a,(___fsdiv_result_1_1 + 1),00126$	inc	(___fsdiv_result_1_1 + 2)	cjne	a,(___fsdiv_result_1_1 + 2),00126$	inc	(___fsdiv_result_1_1 + 3)00126$:;	_fsdiv.c 131	inc	___fsdiv_exp_1_1	clr	a	cjne	a,___fsdiv_exp_1_1,00127$	inc	(___fsdiv_exp_1_1 + 1)00127$:;	_fsdiv.c 132	mov	a,(___fsdiv_result_1_1 + 3)	mov	c,acc.7	rrc	a	mov	(___fsdiv_result_1_1 + 3),a	mov	a,(___fsdiv_result_1_1 + 2)	rrc	a	mov	(___fsdiv_result_1_1 + 2),a	mov	a,(___fsdiv_result_1_1 + 1)	rrc	a	mov	(___fsdiv_result_1_1 + 1),a	mov	a,___fsdiv_result_1_1	rrc	a	mov	___fsdiv_result_1_1,a;	_fsdiv.c 134	mov	r3,___fsdiv_result_1_1	mov	r4,(___fsdiv_result_1_1 + 1)	mov	r5,(___fsdiv_result_1_1 + 2)	mov	r6,(___fsdiv_result_1_1 + 3)	mov	___fsdiv_result_1_1,r3	mov	(___fsdiv_result_1_1 + 1),r4	mov	a,#0x7F	anl	a,r5	mov	(___fsdiv_result_1_1 + 2),a	mov	(___fsdiv_result_1_1 + 3),r6;	_fsdiv.c 137	mov	r3,___fsdiv_exp_1_1	mov	r4,(___fsdiv_exp_1_1 + 1)	mov	a,(___fsdiv_exp_1_1 + 1)	rlc	a	subb	a,acc	mov	r5,a	mov	r6,a	mov	ar5,r3	mov	a,r4	anl	a,#0x01	mov	c,acc.0	xch	a,r5	rrc	a	xch	a,r5	rrc	a	xch	a,r5	mov	r6,a; Peephole 3.c   changed mov to clr	clr  a	mov  r4,a	mov  r3,a	mov  a,r2	rlc	a	subb	a,acc	mov	r7,a	mov	r0,a	mov	r1,a	mov	a,r2	orl	ar3,a	mov	a,r7	orl	ar4,a	mov	a,r0	orl	ar5,a	mov	a,r1	orl	ar6,a	mov	r2,___fsdiv_result_1_1	mov	r7,(___fsdiv_result_1_1 + 1)	mov	r0,(___fsdiv_result_1_1 + 2)	mov	r1,(___fsdiv_result_1_1 + 3)	mov	a,r2	orl	ar3,a	mov	a,r7	orl	ar4,a	mov	a,r0	orl	ar5,a	mov	a,r1	orl	ar6,a	mov	___fsdiv_fl1_1_1,r3	mov	(___fsdiv_fl1_1_1 + 1),r4	mov	(___fsdiv_fl1_1_1 + 2),r5	mov	(___fsdiv_fl1_1_1 + 3),r6;	_fsdiv.c 138	mov	dpl,___fsdiv_fl1_1_1	mov	dph,(___fsdiv_fl1_1_1 + 1)	mov	b,(___fsdiv_fl1_1_1 + 2)	mov	a,(___fsdiv_fl1_1_1 + 3)00112$:	ret	.area CSEG    (CODE)

⌨️ 快捷键说明

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