crt0_rle.s

来自「Small Device C Compiler 面向Inter8051」· S 代码 · 共 46 行

S
46
字号
        .area   _CODE                ;; Special RLE decoder used for initing global data__initrleblock::        ;; Pull the destination address out        ld      c,l        ld      b,h                ;; Pop the return address        pop     hl1$:        ;; Fetch the run        ld      e,(hl)        inc     hl        ;; Negative means a run        bit     7,e        jp      z,2$        ;; Code for expanding a run        ld      a,(hl)        inc     hl3$:        ld      (bc),a        inc     bc        inc     e        jp      nz,3$        jp      1$2$:        ;; Zero means end of a block        xor     a        or      e        jp      z,4$        ;; Code for expanding a block5$:             ld      a,(hl)                inc     hl        ld      (bc),a        inc     bc        dec     e        jp      nz,5$        jp      1$4$:             ;; Push the return address back onto the stack        push    hl        ret

⌨️ 快捷键说明

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