home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
CPM3
/
DATEP2.LBR
/
IBMM.AZ
/
IBMM.AS
Wrap
Text File
|
2000-06-30
|
768b
|
30 lines
; IBMM.AS - Inter-bank memory move. Relies upon MOVE and XMOVE functions
; being implemented in your CP/M Plus BIOS.
;
; Written for the ZAS assembler, part of the Hi-Tech C compiler package.
psect text
global _ibmm, csv, cret
_ibmm:
ld hl,(1) ;Set up the MOVE and XMOVE routine entries
ld l,29*3 ;(Cannot use BDOS(50,....) because CP/M 3
ld (xmove+1),hl ; traps and disallows memory moves)
ld l,25*3
ld (move+1),hl
call csv
ld c,(ix+8) ;Source bank
ld b,(ix+12) ;Destination bank
call xmove ;Set bank numbers
ld e,(ix+6) ;Source
ld d,(ix+7)
ld l,(ix+10) ;Destination
ld h,(ix+11)
ld c,(ix+14) ;Length
ld b,0 ;(Can't be more than 128)
call move ;(Inter-bank) memory transfer
jp cret
xmove: jp 0
move: jp 0