blob: ab3bbc9b69efc8222326c174748f91d090f47ef6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
;
page 80,132
;
title CP/DOS DosSelectDisk mapper
;
dosxxx segment byte public 'dos'
assume cs:dosxxx,ds:nothing,es:nothing,ss:nothing
;
;**********************************************************************
;*
;* MODULE: dosselectdisk
;*
;* FILE NAME: dos048.asm
;*
;* CALLING SEQUENCE:
;*
;* push word drive drive number
;* call dosselectdisk
;*
;* MODULES CALLED: PC-DOS Int 21h, ah=0eh, select disk
;*
;*********************************************************************
public dosselectdisk
.sall
.xlist
include macros.inc
.list
str struc
old_bp dw ?
Return dd ?
Drive dw ? ; drive number
str ends
dosselectdisk proc far
Enter Dosselectdisk ; push registers
mov dx,[bp].drive ; load drive number
dec dx ; adjust for cp/dos incompatibility
mov ah,0eh
int 21h ; select the drive
sub ax,ax ; set good return code
mexit ; pop registers
ret size str - 6 ; return
dosselectdisk endp
dosxxx ends
end
|