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

📄 _divslong.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:50 2001;--------------------------------------------------------	.module _divslong	;--------------------------------------------------------; Public variables in this module;--------------------------------------------------------	.globl __divslong;--------------------------------------------------------; special function registers;--------------------------------------------------------;--------------------------------------------------------; special function bits ;--------------------------------------------------------;--------------------------------------------------------; internal ram data;--------------------------------------------------------	.area _DATA;--------------------------------------------------------; overlayable items in internal ram ;--------------------------------------------------------	.area _OVERLAY;--------------------------------------------------------; indirectly addressable internal ram data;--------------------------------------------------------	.area _ISEG;--------------------------------------------------------; bit data;--------------------------------------------------------	.area _BSEG;--------------------------------------------------------; external ram data;--------------------------------------------------------	.area _XSEG;--------------------------------------------------------; global & static initialisations;--------------------------------------------------------	.area _GSINIT	.area _GSFINAL	.area _GSINIT;--------------------------------------------------------; Home;--------------------------------------------------------	.area _HOME	.area _CODE;--------------------------------------------------------; code;--------------------------------------------------------	.area _CODE;	_divslong.c 31;	genLabel;	genFunction;	---------------------------------; Function _divslong; ---------------------------------____divslong_start:__divslong:	push	ix	ld	ix,#0	add	ix,sp	ld	hl,#-16	add	hl,sp	ld	sp,hl;	_divslong.c 36;	genCmpLt;	AOP_STK for 	ld	a,11(ix)	rlc	a	ld	a,#0x00	rla	ld	c,a;	genIfx	xor	a,a	or	a,c	jp	z,00106$;	genUminus;	AOP_STK for ;	AOP_STK for __divslong_sloc0_1_0	xor     a,a	sbc	a,8(ix)	ld	-8(ix),a	ld	a,#0x00	sbc	a,9(ix)	ld	-7(ix),a	ld	a,#0x00	sbc	a,10(ix)	ld	-6(ix),a	ld	a,#0x00	sbc	a,11(ix)	ld	-5(ix),a;	genGoto	jp	00107$;	genLabel00106$:;	genAssign;	AOP_STK for ;	AOP_STK for __divslong_sloc0_1_0	ld	a,8(ix)	ld	-8(ix),a	ld	a,9(ix)	ld	-7(ix),a	ld	a,10(ix)	ld	-6(ix),a	ld	a,11(ix)	ld	-5(ix),a;	genLabel00107$:;	genAssign;	AOP_STK for __divslong_sloc0_1_0;	AOP_STK for __divslong_sloc1_1_0	ld	a,-8(ix)	ld	-12(ix),a	ld	a,-7(ix)	ld	-11(ix),a	ld	a,-6(ix)	ld	-10(ix),a	ld	a,-5(ix)	ld	-9(ix),a;	_divslong.c 35;	genCmpLt;	AOP_STK for 	ld	a,7(ix)	rlc	a	ld	a,#0x00	rla	ld	b,a;	genIfx	xor	a,a	or	a,b	jp	z,00108$;	genUminus;	AOP_STK for ;	AOP_STK for __divslong_sloc0_1_0	xor     a,a	sbc	a,4(ix)	ld	-8(ix),a	ld	a,#0x00	sbc	a,5(ix)	ld	-7(ix),a	ld	a,#0x00	sbc	a,6(ix)	ld	-6(ix),a	ld	a,#0x00	sbc	a,7(ix)	ld	-5(ix),a;	genGoto	jp	00109$;	genLabel00108$:;	genAssign;	AOP_STK for ;	AOP_STK for __divslong_sloc0_1_0	ld	a,4(ix)	ld	-8(ix),a	ld	a,5(ix)	ld	-7(ix),a	ld	a,6(ix)	ld	-6(ix),a	ld	a,7(ix)	ld	-5(ix),a;	genLabel00109$:;	genAssign;	AOP_STK for __divslong_sloc0_1_0;	AOP_STK for __divslong_sloc2_1_0	ld	a,-8(ix)	ld	-16(ix),a	ld	a,-7(ix)	ld	-15(ix),a	ld	a,-6(ix)	ld	-14(ix),a	ld	a,-5(ix)	ld	-13(ix),a;	genIpush; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 1 deSending: 0	push	bc;	AOP_STK for __divslong_sloc1_1_0	ld	l,-10(ix)	ld	h,-9(ix)	push	hl	ld	l,-12(ix)	ld	h,-11(ix)	push	hl;	genIpush;	AOP_STK for __divslong_sloc2_1_0	ld	l,-14(ix)	ld	h,-13(ix)	push	hl	ld	l,-16(ix)	ld	h,-15(ix)	push	hl;	genCall	call	__divulong;	AOP_STK for __divslong_r_1_1	ld	-1(ix),d	ld	-2(ix),e	ld	-3(ix),h	ld	-4(ix),l	ld	hl,#8	add	hl,sp	ld	sp,hl	pop	bc;	_divslong.c 37;	genXor	ld	a,c	xor	a,b;	genIfx	or	a,a	jp	z,00102$;	_divslong.c 38;	genUminus;	AOP_STK for __divslong_r_1_1	xor     a,a	sbc	a,-4(ix)	ld	c,a	ld	a,#0x00	sbc	a,-3(ix)	ld	b,a	ld	a,#0x00	sbc	a,-2(ix)	ld	e,a	ld	a,#0x00	sbc	a,-1(ix)	ld	d,a;	genRet	ld	l,c	ld	h,b	jp	00104$;	genLabel00102$:;	_divslong.c 40;	genRet;	AOP_STK for __divslong_r_1_1	ld	l,-4(ix)	ld	h,-3(ix)	ld	e,-2(ix)	ld	d,-1(ix);	genLabel00104$:;	genEndFunction	ld	sp,ix	pop	ix	ret____divslong_end:	.area _CODE

⌨️ 快捷键说明

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