23 lines
434 B
ArmAsm
23 lines
434 B
ArmAsm
#
|
|
#include "asm.h"
|
|
|
|
! Calls the BIOS SELDSK routine, which returns its result in HL.
|
|
|
|
.define _cpm_bios_seldsk
|
|
_cpm_bios_seldsk:
|
|
pop h ! pop return address
|
|
pop d ! pop parameter
|
|
push d
|
|
push h
|
|
push b ! save FP as we'll corrupt it
|
|
|
|
mov b, d ! put parameter in BC
|
|
mov c, e
|
|
|
|
mvi a, 0x1b-3 ! offset from WBOOT to SELDSK
|
|
call call_bios_raw
|
|
|
|
pop b
|
|
xchg ! DE = HL
|
|
ret
|