📄 _memcpy.asm
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:51 2001;-------------------------------------------------------- .module _memcpy ;--------------------------------------------------------; Public variables in this module;-------------------------------------------------------- .globl _memcpy;--------------------------------------------------------; 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; _memcpy.c 31; genLabel; genFunction; ---------------------------------; Function memcpy; ---------------------------------___memcpy_start:_memcpy: lda sp,-4(sp); _memcpy.c 41; genAssign; (operands are equal 3); genAssign; AOP_STK for ; AOP_STK for _memcpy_d_1_1 lda hl,6(sp) ld a,(hl+) ld e,(hl) lda hl,2(sp) ld (hl+),a ld (hl),e; _memcpy.c 42; genAssign; AOP_STK for lda hl,8(sp) ld c,(hl) inc hl ld b,(hl); _memcpy.c 43; genUminus; AOP_STK for ; AOP_STK for _memcpy_count_1_1 xor a,a inc hl ld a,#0x00 sbc a,(hl) lda hl,0(sp) ld (hl),a lda hl,11(sp) ld a,#0x00 sbc a,(hl) lda hl,1(sp) ld (hl),a; _memcpy.c 45; genRightShift; AOP_STK for _memcpy_count_1_1 sra (hl) dec hl rr (hl) inc hl sra (hl) dec hl rr (hl); _memcpy.c 47; genLabel00101$:; genIfx; AOP_STK for _memcpy_count_1_1 lda hl,0(sp) ld a,(hl+); Rule 8: Removed redundent or for (ix) or a,(hl) jp z,00103$; _memcpy.c 48; genPointerGet ld a,(bc); genPlus; genPlusIncr inc bc; genAssign (pointer); AOP_STK for _memcpy_d_1_1 inc hl ld e,(hl) inc hl ld d,(hl) ld (de),a; genPlus; AOP_STK for _memcpy_d_1_1; genPlusIncr dec hl inc (hl) jr nz,00116$ inc hl inc (hl)00116$:; _memcpy.c 49; genPointerGet ld a,(bc); genPlus; genPlusIncr inc bc; genAssign (pointer); AOP_STK for _memcpy_d_1_1 lda hl,2(sp) ld e,(hl) inc hl ld d,(hl) ld (de),a; genPlus; AOP_STK for _memcpy_d_1_1; genPlusIncr dec hl inc (hl) jr nz,00117$ inc hl inc (hl)00117$:; _memcpy.c 50; genPointerGet ld a,(bc); genPlus; genPlusIncr inc bc; genAssign (pointer); AOP_STK for _memcpy_d_1_1 lda hl,2(sp) ld e,(hl) inc hl ld d,(hl) ld (de),a; genPlus; AOP_STK for _memcpy_d_1_1; genPlusIncr dec hl inc (hl) jr nz,00118$ inc hl inc (hl)00118$:; _memcpy.c 51; genPointerGet ld a,(bc); genPlus; genPlusIncr inc bc; genAssign (pointer); AOP_STK for _memcpy_d_1_1 lda hl,2(sp) ld e,(hl) inc hl ld d,(hl) ld (de),a; genPlus; AOP_STK for _memcpy_d_1_1; genPlusIncr dec hl inc (hl) jr nz,00119$ inc hl inc (hl)00119$:; _memcpy.c 52; genPlus; AOP_STK for _memcpy_count_1_1; genPlusIncr lda hl,0(sp) inc (hl) jr nz,00120$ inc hl inc (hl)00120$:; genGoto jp 00101$; genLabel00103$:; _memcpy.c 55; genAnd; AOP_STK for lda hl,10(sp) ld a,(hl) and a,#0x02 jr nz,00121$ jp 00105$00121$:; _memcpy.c 56; genPointerGet ld a,(bc); genPlus; genPlusIncr inc bc; genAssign (pointer); AOP_STK for _memcpy_d_1_1 lda hl,2(sp) ld e,(hl) inc hl ld d,(hl) ld (de),a; genPlus; AOP_STK for _memcpy_d_1_1; genPlusIncr dec hl inc (hl) jr nz,00122$ inc hl inc (hl)00122$:; _memcpy.c 57; genPointerGet ld a,(bc); genPlus; genPlusIncr inc bc; genAssign (pointer); AOP_STK for _memcpy_d_1_1 lda hl,2(sp) ld e,(hl) inc hl ld d,(hl) ld (de),a; genPlus; AOP_STK for _memcpy_d_1_1; genPlusIncr dec hl inc (hl) jr nz,00123$ inc hl inc (hl)00123$:; genLabel00105$:; _memcpy.c 59; genAnd; AOP_STK for lda hl,10(sp) ld a,(hl) and a,#0x01 jr nz,00124$ jp 00107$00124$:; _memcpy.c 60; genPointerGet ld a,(bc); genAssign (pointer); AOP_STK for _memcpy_d_1_1 lda hl,2(sp) ld e,(hl) inc hl ld d,(hl) ld (de),a; genLabel00107$:; _memcpy.c 62; genRet; AOP_STK for lda hl,6(sp) ld e,(hl) inc hl ld d,(hl); genLabel00108$:; genEndFunction lda sp,4(sp) ret___memcpy_end: .area _CODE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -