Browse Source

hbios - wrap hbx_bnkcpy

pull/100/head
Phillip Stevens 6 years ago
parent
commit
b45e531127
  1. 22
      Source/HBIOS/hbios.asm

22
Source/HBIOS/hbios.asm

@ -383,7 +383,7 @@ HBX_BNKSEL1:
; Copy Data - Possibly between banks. This resembles CP/M 3, but ; Copy Data - Possibly between banks. This resembles CP/M 3, but
; usage of the HL and DE registers is reversed. ; usage of the HL and DE registers is reversed.
; Caller MUST preset HBX_SRCBNK and HBX_DSTBNK. ; Caller MUST preset HBX_SRCBNK and HBX_DSTBNK.
; Caller MUST disable ints if IM1 active
; Interrupts are disabled if IM1/IM2 active.
; Enter: ; Enter:
; HL = Source Address ; HL = Source Address
; DE = Destination Address ; DE = Destination Address
@ -394,6 +394,11 @@ HBX_BNKSEL1:
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
; ;
HBX_BNKCPY: HBX_BNKCPY:
#IF (INTMODE > 0)
LD A,I
DI
PUSH AF
#ENDIF
LD (HBX_BC_SP),SP ; PUT STACK LD (HBX_BC_SP),SP ; PUT STACK
LD SP,HBX_TMPSTK ; ... IN HI MEM LD SP,HBX_TMPSTK ; ... IN HI MEM
@ -423,6 +428,11 @@ HBX_BC_LAST:
LD SP,$FFFF ; RESTORE STACK LD SP,$FFFF ; RESTORE STACK
HBX_BC_SP .EQU $ - 2 ; ... TO ORIGINAL VALUE HBX_BC_SP .EQU $ - 2 ; ... TO ORIGINAL VALUE
#IF (INTMODE > 0)
POP AF
JP PO,$+4
EI
#ENDIF
RET RET
; ;
HBX_BC_ITER: HBX_BC_ITER:
@ -2221,17 +2231,7 @@ SYS_BNKCPY:
LD HL,(HB_CPYLEN) ; HL := COPY LEN (SAVED IN SETCPY) LD HL,(HB_CPYLEN) ; HL := COPY LEN (SAVED IN SETCPY)
EX (SP),HL ; RESTORE HL & SET (SP) TO COPY LEN EX (SP),HL ; RESTORE HL & SET (SP) TO COPY LEN
POP BC ; BC := COPY LEN POP BC ; BC := COPY LEN
#IF (INTMODE > 0)
LD A,I
DI
PUSH AF
#ENDIF
CALL HB_BNKCPY CALL HB_BNKCPY
#IF (INTMODE > 0)
POP AF
JP PO,$+4
EI
#ENDIF
XOR A XOR A
RET RET
; ;

Loading…
Cancel
Save