📄 _divulong.asm
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:50 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: push ix ld ix,#0 add ix,sp ld hl,#-2 add hl,sp ld sp,hl; _divulong.c 29; genAssign ld c,#0x00 ld b,#0x00 ld de,#0x0000; _divulong.c 33; genAssign; AOP_STK for __divulong_count_1_1 ld -1(ix),#0x20; genLabel00105$:; _divulong.c 35; genGetHBIT; AOP_STK for ; AOP_STK for __divulong_c_1_1 ld a,7(ix) rlc a and a,#1 ld -2(ix),a; _divulong.c 36; genIpush; _saveRegsForCall: sendSetSize: 0 deInUse: 1 bcInUse: 1 deSending: 0 push bc push de ld a,#0x01 push af inc sp; genIpush; AOP_STK for ld l,6(ix) ld h,7(ix) push hl ld l,4(ix) ld h,5(ix) push hl; genCall call __rlulong_rrx_s; AOP_STK for ld 7(ix),d ld 6(ix),e ld 5(ix),h ld 4(ix),l pop hl pop hl inc sp pop de pop bc; 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 ld l,e ld h,d push hl ld l,c ld h,b push hl; genCall call __rlulong_rrx_s; Rule 1: Removed redundent load; Rule 1: Removed redundent load ld b,h ld c,l pop hl pop hl inc sp; _divulong.c 38; genIfx; AOP_STK for __divulong_c_1_1 xor a,a; Rule 8: Removed redundent or for (ix) or a,-2(ix) jp z,00102$; _divulong.c 39; genOr ld a,c or a,#0x01 ld c,a; genLabel00102$:; _divulong.c 41; genCmpLt; AOP_STK for ld a,c sbc a,8(ix) ld a,b sbc a,9(ix) ld a,e sbc a,10(ix) ld a,d sbc a,11(ix) jp c,00106$; _divulong.c 42; genMinus; AOP_STK for ld a,c sub a,8(ix) ld c,a ld a,b sbc a,9(ix) ld b,a ld a,e sbc a,10(ix) ld e,a ld a,d sbc a,11(ix) ld d,a; _divulong.c 44; genOr; AOP_STK for ld a,4(ix) or a,#0x01 ld 4(ix),a; genLabel00106$:; _divulong.c 46; genMinus; AOP_STK for __divulong_count_1_1 dec -1(ix); genIfx; AOP_STK for __divulong_count_1_1 xor a,a; Rule 8: Removed redundent or for (ix) or a,-1(ix) jp nz,00105$; _divulong.c 48; genRet; AOP_STK for ld l,4(ix) ld h,5(ix) ld e,6(ix) ld d,7(ix); genLabel00108$:; genEndFunction ld sp,ix pop ix ret____divulong_end: .area _CODE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -