hbios - wrap hbx_bnkcpy

This commit is contained in:
Phillip Stevens
2020-03-04 18:33:19 +11:00
parent 7cef05148f
commit b45e531127

View File

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