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

📄 _fsmul.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:24 2001;--------------------------------------------------------	.module _fsmul	;--------------------------------------------------------; Public variables in this module;--------------------------------------------------------	.globl ___fsmul_PARM_2	.globl ___fsmul;--------------------------------------------------------; special function registers;--------------------------------------------------------;--------------------------------------------------------; special function bits ;--------------------------------------------------------;--------------------------------------------------------; internal ram data;--------------------------------------------------------	.area DSEG    (DATA)___fsmul_sloc0_1_0::	.ds 4;--------------------------------------------------------; overlayable items in internal ram ;--------------------------------------------------------	.area OSEG    (OVR,DATA);--------------------------------------------------------; indirectly addressable internal ram data;--------------------------------------------------------	.area ISEG    (DATA);--------------------------------------------------------; bit data;--------------------------------------------------------	.area BSEG    (BIT);--------------------------------------------------------; external ram data;--------------------------------------------------------	.area XSEG    (XDATA)___fsmul_PARM_2::	.ds 4___fsmul_a1_1_1::	.ds 4___fsmul_fl1_1_1::	.ds 4___fsmul_fl2_1_1::	.ds 4___fsmul_result_1_1::	.ds 4___fsmul_exp_1_1::	.ds 2___fsmul_sign_1_1::	.ds 1;--------------------------------------------------------; 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 '__fsmul';------------------------------------------------------------;sloc0                     Allocated to in memory with name '___fsmul_sloc0_1_0';a2                        Allocated to in memory with name '___fsmul_PARM_2';a1                        Allocated to in memory with name '___fsmul_a1_1_1';fl1                       Allocated to in memory with name '___fsmul_fl1_1_1';fl2                       Allocated to in memory with name '___fsmul_fl2_1_1';result                    Allocated to in memory with name '___fsmul_result_1_1';exp                       Allocated to in memory with name '___fsmul_exp_1_1';sign                      Allocated to in memory with name '___fsmul_sign_1_1';	_fsmul.c 81;	-----------------------------------------;	 function __fsmul;	-----------------------------------------___fsmul:	ar2 = 0x02	ar3 = 0x03	ar4 = 0x04	ar5 = 0x05	ar6 = 0x06	ar7 = 0x07	ar0 = 0x00	ar1 = 0x01;	_fsmul.c 125	push	acc	push	b	push	dph	push	dpl	mov	dptr,#___fsmul_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;	_fsmul.c 88	mov	dptr,#___fsmul_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,#___fsmul_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;	_fsmul.c 89	mov	dptr,#___fsmul_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,#___fsmul_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;	_fsmul.c 91	mov	dptr,#___fsmul_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	a,r2	orl	a,r3	orl	a,r4	orl	a,r5; Peephole 110   removed ljmp by inverse jump logic	jz  00101$00114$:	mov	dptr,#___fsmul_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	a,r2	orl	a,r3	orl	a,r4	orl	a,r5; Peephole 109   removed ljmp by inverse jump logic	jnz  00102$00115$:00101$:;	_fsmul.c 92; 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	00107$00102$:;	_fsmul.c 95	mov	dptr,#___fsmul_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,#___fsmul_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	mov	r3,a	mov	dptr,#___fsmul_sign_1_1	mov	a,r3	xrl	a,ar2	movx	@dptr,a;	_fsmul.c 96	mov	dptr,#___fsmul_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; Peephole 3.c   changed mov to clr; Peephole 3.b   changed mov to clr; Peephole 3.b   changed mov to clr; Peephole 3.b   changed mov to clr	clr  a	mov  r4,a	mov  r5,a	mov  r3,a	mov  r4,a	mov  r5,a	mov  a,r2	add	a,#0x82	mov	r2,a	mov	a,r3	addc	a,#0xff	mov	r3,a	mov	a,r4	addc	a,#0xff	mov	r4,a	mov	a,r5	addc	a,#0xff	mov	r5,a	mov	dptr,#___fsmul_exp_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a;	_fsmul.c 97	mov	dptr,#___fsmul_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,#___fsmul_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	mov	a,r2	add	a,r6	mov	r2,a	mov	a,r3	addc	a,r7	mov	r3,a	mov	a,r4	addc	a,r0	mov	r4,a	mov	a,r5	addc	a,r1	mov	r5,a	mov	dptr,#___fsmul_exp_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a;	_fsmul.c 99	mov	dptr,#___fsmul_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	anl	ar4,#0x7F	mov	r5,#0x00	orl	ar4,#0x80	mov	dptr,#___fsmul_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;	_fsmul.c 100	mov	dptr,#___fsmul_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	anl	ar4,#0x7F	mov	r5,#0x00	orl	ar4,#0x80	mov	dptr,#___fsmul_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;	_fsmul.c 103	mov	dptr,#___fsmul_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,r3	mov	ar3,r4	mov	a,r5	mov	r4,a	rlc	a	subb	a,acc	mov	r5,a	mov	dptr,#___fsmul_fl2_1_1	movx	a,@dptr	mov	r6,a	inc	dptr	movx	a,@dptr	mov	r7,a	inc	dptr	movx	a,@dptr	mov	r0,a	inc	dptr	movx	a,@dptr	mov	r1,a	mov	ar6,r7	mov	ar7,r0	mov	a,r1	mov	r0,a	rlc	a	subb	a,acc	mov	r1,a	mov	dptr,#__mulslong_PARM_2	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r7	movx	@dptr,a	inc	dptr	mov	a,r0	movx	@dptr,a	inc	dptr	mov	a,r1	movx	@dptr,a	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	lcall	__mulslong	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	r5,a	mov	dptr,#___fsmul_result_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;	_fsmul.c 104	mov	dptr,#___fsmul_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	r3,#0x00	mov	r4,#0x00	mov	r5,#0x00	mov	dptr,#___fsmul_fl2_1_1	movx	a,@dptr	mov	r6,a	inc	dptr	movx	a,@dptr	mov	r7,a	inc	dptr	movx	a,@dptr	mov	r0,a	inc	dptr	movx	a,@dptr	mov	r1,a	mov	ar6,r7	mov	ar7,r0	mov	ar0,r1	mov	r1,#0x00	mov	dptr,#__mululong_PARM_2	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r7	movx	@dptr,a	inc	dptr	mov	a,r0	movx	@dptr,a	inc	dptr	mov	a,r1	movx	@dptr,a	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	lcall	__mululong	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	r5,a	mov	ar2,r3	mov	ar3,r4	mov	ar4,r5	mov	r5,#0x00	mov	dptr,#___fsmul_result_1_1	movx	a,@dptr	mov	r6,a	inc	dptr	movx	a,@dptr	mov	r7,a	inc	dptr	movx	a,@dptr	mov	r0,a	inc	dptr	movx	a,@dptr	mov	r1,a	mov	dptr,#___fsmul_result_1_1	mov	a,r2	add	a,r6	movx	@dptr,a	mov	a,r3	addc	a,r7	inc	dptr	movx	@dptr,a	mov	a,r4	addc	a,r0	inc	dptr	movx	@dptr,a	mov	a,r5	addc	a,r1	inc	dptr	movx	@dptr,a;	_fsmul.c 105	mov	dptr,#___fsmul_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	r3,#0x00	mov	r4,#0x00	mov	r5,#0x00	mov	dptr,#___fsmul_fl1_1_1	movx	a,@dptr	mov	r6,a	inc	dptr	movx	a,@dptr	mov	r7,a	inc	dptr	movx	a,@dptr	mov	r0,a	inc	dptr	movx	a,@dptr	mov	r1,a	mov	ar6,r7	mov	ar7,r0	mov	ar0,r1	mov	r1,#0x00	mov	dptr,#__mululong_PARM_2	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r7	movx	@dptr,a	inc	dptr	mov	a,r0	movx	@dptr,a	inc	dptr	mov	a,r1	movx	@dptr,a	mov	dpl,r2	mov	dph,r3	mov	b,r4	mov	a,r5	lcall	__mululong	mov	r2,dpl	mov	r3,dph	mov	r4,b	mov	r5,a	mov	ar2,r3	mov	ar3,r4	mov	ar4,r5	mov	r5,#0x00	mov	dptr,#___fsmul_result_1_1	movx	a,@dptr	mov	r6,a	inc	dptr	movx	a,@dptr	mov	r7,a	inc	dptr	movx	a,@dptr	mov	r0,a	inc	dptr	movx	a,@dptr	mov	r1,a	mov	dptr,#___fsmul_result_1_1	mov	a,r2	add	a,r6	movx	@dptr,a	mov	a,r3	addc	a,r7	inc	dptr	movx	@dptr,a	mov	a,r4	addc	a,r0	inc	dptr	movx	@dptr,a	mov	a,r5	addc	a,r1	inc	dptr	movx	@dptr,a;	_fsmul.c 107	mov	dptr,#___fsmul_result_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	jb	acc.7,00116$	ljmp	00105$00116$:;	_fsmul.c 110	mov	dptr,#___fsmul_result_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,#___fsmul_result_1_1	mov	a,#0x80	add	a,r2	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r5	inc	dptr	movx	@dptr,a;	_fsmul.c 111	mov	dptr,#___fsmul_result_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,r3	mov	ar3,r4	mov	ar4,r5	mov	r5,#0x00	mov	dptr,#___fsmul_result_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	ljmp	00106$00105$:;	_fsmul.c 116	mov	dptr,#___fsmul_result_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,#___fsmul_result_1_1	mov	a,#0x40	add	a,r2	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r3	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r4	inc	dptr	movx	@dptr,a; Peephole 180   changed mov to clr	clr  a	addc	a,r5	inc	dptr	movx	@dptr,a;	_fsmul.c 117	mov	dptr,#___fsmul_result_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	a,r3	mov	c,acc.7	xch	a,r2	rlc	a	xch	a,r2	rlc	a	xch	a,r2	anl	a,#0x01	mov	r3,a	mov	a,r4	add	a,acc	orl	a,r3	mov	r3,a	mov	a,r5	mov	c,acc.7	xch	a,r4	rlc	a	xch	a,r4	rlc	a	xch	a,r4	anl	a,#0x01	mov	r5,a	mov	dptr,#___fsmul_result_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;	_fsmul.c 118	mov	dptr,#___fsmul_exp_1_1	movx	a,@dptr	add	a,#0xff	mov	r2,a	inc	dptr	movx	a,@dptr	addc	a,#0xff	mov	r3,a	mov	dptr,#___fsmul_exp_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a00106$:;	_fsmul.c 121	mov	dptr,#___fsmul_result_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,#___fsmul_result_1_1	mov	a,r2	movx	@dptr,a	inc	dptr	mov	a,r3	movx	@dptr,a	mov	a,#0x7F	anl	a,r4	inc	dptr	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a;	_fsmul.c 124	mov	r2,#___fsmul_fl1_1_1	mov	r3,#(___fsmul_fl1_1_1 >> 8)	mov	dptr,#___fsmul_sign_1_1	movx	a,@dptr; Peephole 105   removed redundant mov	mov  r4,a; Peephole 110   removed ljmp by inverse jump logic	jz  00109$00117$:	mov	r4,#0x00	mov	r5,#0x00	mov	r6,#0x00	mov	r7,#0x80; Peephole 132   changed ljmp to sjmp	sjmp 00110$00109$:	mov	r4,#0x00	mov	r5,#0x00	mov	r6,#0x00	mov	r7,#0x0000110$:	mov	dptr,#___fsmul_exp_1_1	movx	a,@dptr	mov	r0,a	inc	dptr	movx	a,@dptr	mov	r1,a	mov	___fsmul_sloc0_1_0,r0	mov	(___fsmul_sloc0_1_0 + 1),r1	mov	a,r1	rlc	a	subb	a,acc	mov	(___fsmul_sloc0_1_0 + 2),a	mov	(___fsmul_sloc0_1_0 + 3),a	mov	(___fsmul_sloc0_1_0 + 2),___fsmul_sloc0_1_0	mov	a,(___fsmul_sloc0_1_0 + 1)	anl	a,#0x01	mov	c,acc.0	xch	a,(___fsmul_sloc0_1_0 + 2)	rrc	a	xch	a,(___fsmul_sloc0_1_0 + 2)	rrc	a	xch	a,(___fsmul_sloc0_1_0 + 2)	mov	(___fsmul_sloc0_1_0 + 3),a	mov	(___fsmul_sloc0_1_0 + 1),#0x00	mov	___fsmul_sloc0_1_0,#0x00	mov	a,___fsmul_sloc0_1_0	orl	ar4,a	mov	a,(___fsmul_sloc0_1_0 + 1)	orl	ar5,a	mov	a,(___fsmul_sloc0_1_0 + 2)	orl	ar6,a	mov	a,(___fsmul_sloc0_1_0 + 3)	orl	ar7,a	mov	dptr,#___fsmul_result_1_1	movx	a,@dptr	mov	___fsmul_sloc0_1_0,a	inc	dptr	movx	a,@dptr	mov	(___fsmul_sloc0_1_0 + 1),a	inc	dptr	movx	a,@dptr	mov	(___fsmul_sloc0_1_0 + 2),a	inc	dptr	movx	a,@dptr	mov	(___fsmul_sloc0_1_0 + 3),a	mov	a,___fsmul_sloc0_1_0	orl	ar4,a	mov	a,(___fsmul_sloc0_1_0 + 1)	orl	ar5,a	mov	a,(___fsmul_sloc0_1_0 + 2)	orl	ar6,a	mov	a,(___fsmul_sloc0_1_0 + 3)	orl	ar7,a	mov	dpl,r2	mov	dph,r3	mov	a,r4	movx	@dptr,a	inc	dptr	mov	a,r5	movx	@dptr,a	inc	dptr	mov	a,r6	movx	@dptr,a	inc	dptr	mov	a,r7	movx	@dptr,a;	_fsmul.c 125	mov	dptr,#___fsmul_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 191   removed redundant mov	mov  r5,a	mov  dpl,r2	mov  dph,r3	mov  b,r400107$:	ret	.area CSEG    (CODE)

⌨️ 快捷键说明

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