_fsdiv.asm

来自「很少见的源码公开的msc51和z80的c编译器。」· 汇编 代码 · 共 963 行 · 第 1/2 页

ASM
963
字号
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:23 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_sloc0_1_0::	.ds 4;--------------------------------------------------------; indirectly addressable internal ram data;--------------------------------------------------------	.area ISEG    (DATA);--------------------------------------------------------; bit data;--------------------------------------------------------	.area BSEG    (BIT);--------------------------------------------------------; external ram data;--------------------------------------------------------	.area XSEG    (XDATA)___fsdiv_PARM_2::	.ds 4___fsdiv_a1_1_1::	.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;--------------------------------------------------------; 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';------------------------------------------------------------;a2                        Allocated to in memory with name '___fsdiv_PARM_2';a1                        Allocated to in memory with name '___fsdiv_a1_1_1';fl1                       Allocated to in memory with name '___fsdiv_fl1_1_1';fl2                       Allocated to in memory with name '___fsdiv_fl2_1_1';result                    Allocated to in memory with name '___fsdiv_result_1_1';mask                      Allocated to in memory with name '___fsdiv_mask_1_1';mant1                     Allocated to in memory with name '___fsdiv_mant1_1_1';mant2                     Allocated to in memory with name '___fsdiv_mant2_1_1';exp                       Allocated to in memory with name '___fsdiv_exp_1_1';sign                      Allocated to in memory with name '___fsdiv_sign_1_1';	_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	push	acc	push	b	push	dph	push	dpl	mov	dptr,#___fsdiv_a1_1_1	pop	acc	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a	pop	acc	inc	dptr	movx	@dptr,a;	_fsdiv.c 82	mov	dptr,#___fsdiv_a1_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	r5,a	mov	dptr,#___fsdiv_fl1_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a	inc	dptr	mov	a,r4	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a;	_fsdiv.c 83	mov	dptr,#___fsdiv_PARM_2	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	r5,a	mov	dptr,#___fsdiv_fl2_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a	inc	dptr	mov	a,r4	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a;	_fsdiv.c 86	mov	dptr,#___fsdiv_fl1_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	r5,a	mov	ar2,r4	mov	a,r5	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	dptr,#___fsdiv_exp_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a;	_fsdiv.c 87	mov	dptr,#___fsdiv_fl2_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	r5,a	mov	ar2,r4	mov	a,r5	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	dptr,#___fsdiv_exp_1_1	movx	a,@dptr	mov	r6,a	inc	dptr	movx	a,@dptr; Peephole 105   removed redundant mov	mov  r7,a	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	dptr,#___fsdiv_exp_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a;	_fsdiv.c 88	mov	dptr,#___fsdiv_exp_1_1	movx	a,@dptr	mov	r2,a	inc	dptr	movx	a,@dptr	mov	r3,a	mov	dptr,#___fsdiv_exp_1_1	mov	a,#0x7E	add	a,r2	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	inc	dptr	movx	@dptr,a;	_fsdiv.c 91	mov	dptr,#___fsdiv_fl1_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; Peephole 105   removed redundant mov	mov  r5,a	rl	a	anl	a,#0x01	mov	r2,a	mov	dptr,#___fsdiv_fl2_1_1	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	dptr	movx	a,@dptr; Peephole 105   removed redundant mov	mov  r6,a	rl	a	anl	a,#0x01; Peephole 105   removed redundant mov	mov  r3,a	xrl	ar2,a;	_fsdiv.c 94	mov	dptr,#___fsdiv_fl2_1_1	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	dptr	movx	a,@dptr	mov	r6,a	mov	a,r3	orl	a,r4	orl	a,r5	orl	a,r6; 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	dptr,#___fsdiv_fl1_1_1	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	dptr	movx	a,@dptr	mov	r6,a	mov	a,r3	orl	a,r4	orl	a,r5	orl	a,r6; 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	dptr,#___fsdiv_fl1_1_1	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	dptr	movx	a,@dptr	mov	r6,a	anl	ar5,#0x7F	mov	r6,#0x00	mov	dptr,#___fsdiv_mant1_1_1	mov	a,r3	movx	@dptr,a	inc	dptr	mov	a,r4	movx	@dptr,a	mov	a,#0x80	orl	a,r5	inc	dptr	movx	@dptr,a	inc	dptr	mov	a,r6	movx	@dptr,a;	_fsdiv.c 104	mov	dptr,#___fsdiv_fl2_1_1	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	dptr	movx	a,@dptr	mov	r6,a	anl	ar5,#0x7F	mov	r6,#0x00	mov	dptr,#___fsdiv_mant2_1_1	mov	a,r3	movx	@dptr,a	inc	dptr	mov	a,r4	movx	@dptr,a	mov	a,#0x80	orl	a,r5	inc	dptr	movx	@dptr,a	inc	dptr	mov	a,r6	movx	@dptr,a;	_fsdiv.c 107	mov	dptr,#___fsdiv_mant2_1_1	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	dptr	movx	a,@dptr	mov	r6,a	mov	dptr,#___fsdiv_mant1_1_1	movx	a,@dptr	mov	___fsdiv_sloc0_1_0,a	inc	dptr	movx	a,@dptr	mov	(___fsdiv_sloc0_1_0 + 1),a	inc	dptr	movx	a,@dptr	mov	(___fsdiv_sloc0_1_0 + 2),a	inc	dptr	movx	a,@dptr	mov	(___fsdiv_sloc0_1_0 + 3),a	clr	c	mov	a,___fsdiv_sloc0_1_0	subb	a,r3	mov	a,(___fsdiv_sloc0_1_0 + 1)	subb	a,r4	mov	a,(___fsdiv_sloc0_1_0 + 2)	subb	a,r5	mov	a,(___fsdiv_sloc0_1_0 + 3)	xrl	a,#0x80	mov	b,r6	xrl	b,#0x80	subb	a,b	jc	00122$	ljmp	00106$00122$:;	_fsdiv.c 109	mov	dptr,#___fsdiv_mant1_1_1	movx	a,@dptr	mov	r3,a	inc	dptr	movx	a,@dptr	mov	r4,a	inc	dptr	movx	a,@dptr	mov	r5,a	inc	dptr	movx	a,@dptr	mov	r6,a	mov	a,r3	add	a,acc	mov	r3,a	mov	a,r4	rlc	a	mov	r4,a

⌨️ 快捷键说明

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