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

📄 _divulong.asm

📁 很少见的源码公开的msc51和z80的c编译器。
💻 ASM
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:54 2001;--------------------------------------------------------	.module _divulong	;--------------------------------------------------------; Public variables in this module;--------------------------------------------------------	.globl __divulong;--------------------------------------------------------; 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;	_divulong.c 27;	genLabel;	genFunction;	---------------------------------; Function _divulong; ---------------------------------____divulong_start:__divulong:	lda	sp,-6(sp);	_divulong.c 29;	genAssign;	AOP_STK for __divulong_reste_1_1	xor	a,a	lda	hl,2(sp)	ld	(hl+),a	ld	(hl+),a	ld	(hl+),a	ld	(hl),a;	_divulong.c 33;	genAssign;	AOP_STK for __divulong_count_1_1	lda	hl,1(sp)	ld	(hl),#0x20;	genLabel00105$:;	_divulong.c 35;	genGetHBIT;	AOP_STK for ;	AOP_STK for __divulong_c_1_1	lda	hl,11(sp)	ld	a,(hl)	rlc	a	and	a,#1	lda	hl,0(sp)	ld	(hl),a;	_divulong.c 36;	genIpush; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0	ld	a,#0x01	push	af	inc	sp;	genIpush;	AOP_STK for 	lda	hl,11(sp)	ld	a,(hl+)	ld	h,(hl)	ld	l,a	push	hl	lda	hl,11(sp)	ld	a,(hl+)	ld	h,(hl)	ld	l,a	push	hl;	genCall	call	__rlulong_rrx_s;	AOP_STK for 	push	hl	lda	hl,15(sp)	ld	(hl),e	inc	hl	ld	(hl),d	pop	de	inc	hl	ld	(hl),e	inc	hl	ld	(hl),d	lda	sp,5(sp);	genAssign;	(operands are equal 4);	_divulong.c 37;	genIpush; _saveRegsForCall: sendSetSize: 0 deInUse: 0 bcInUse: 0 deSending: 0	ld	a,#0x01	push	af	inc	sp;	genIpush;	AOP_STK for __divulong_reste_1_1	lda	hl,5(sp)	ld	a,(hl+)	ld	h,(hl)	ld	l,a	push	hl	lda	hl,5(sp)	ld	a,(hl+)	ld	h,(hl)	ld	l,a	push	hl;	genCall	call	__rlulong_rrx_s;	AOP_STK for __divulong_reste_1_1	push	hl	lda	hl,9(sp)	ld	(hl),e	inc	hl	ld	(hl),d	pop	de	inc	hl	ld	(hl),e	inc	hl	ld	(hl),d	lda	sp,5(sp);	_divulong.c 38;	genIfx;	AOP_STK for __divulong_c_1_1	xor	a,a	lda	hl,0(sp); Rule 8: Removed redundent or for (ix)	or	a,(hl)	jp	z,00102$;	_divulong.c 39;	genOr;	AOP_STK for __divulong_reste_1_1	inc	hl	inc	hl	ld	a,(hl)	or	a,#0x01	ld	(hl),a;	genLabel00102$:;	_divulong.c 41;	genCmpLt;	AOP_STK for __divulong_reste_1_1;	AOP_STK for 	lda	hl,2(sp)	ld	d,h	ld	e,l	lda	hl,12(sp)	ld	a,(de)	sub	a,(hl)	inc	hl	inc	de	ld	a,(de)	sbc	a,(hl)	inc	hl	inc	de	ld	a,(de)	sbc	a,(hl)	inc	hl	inc	de	ld	a,(de)	sbc	a,(hl)	jp	c,00106$;	_divulong.c 42;	genMinus;	AOP_STK for __divulong_reste_1_1;	AOP_STK for 	lda	hl,2(sp)	ld	e,(hl)	inc	hl	ld	d,(hl)	ld	a,e	lda	hl,12(sp)	sub	a,(hl)	ld	e,a	ld	a,d	inc	hl	sbc	a,(hl)	push	af	lda	hl,5(sp)	ld      (hl-),a	ld	(hl),e	inc	hl	inc	hl	ld	e,(hl)	inc	hl	ld	d,(hl)	lda	hl,16(sp)	pop	af	ld	a,e	sbc	a,(hl)	ld	e,a	ld	a,d	inc	hl	sbc	a,(hl)	lda	hl,5(sp)	ld      (hl-),a	ld	(hl),e;	_divulong.c 44;	genOr;	AOP_STK for 	lda	hl,8(sp)	ld	a,(hl)	or	a,#0x01	ld	(hl),a;	genLabel00106$:;	_divulong.c 46;	genMinus;	AOP_STK for __divulong_count_1_1	lda	hl,1(sp)	dec	(hl);	genIfx;	AOP_STK for __divulong_count_1_1	xor	a,a; Rule 8: Removed redundent or for (ix)	or	a,(hl)	jp	nz,00105$;	_divulong.c 48;	genRet;	AOP_STK for 	lda	hl,8(sp)	ld	e,(hl)	inc	hl	ld	d,(hl)	inc	hl	ld	a,(hl+)	ld	h,(hl)	ld	l,a;	genLabel00108$:;	genEndFunction	lda	sp,6(sp)	ret____divulong_end:	.area _CODE

⌨️ 快捷键说明

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