]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/QFILEMOD.ASM
3 title CP
/DOS DosQFileMode mapper
5 dosxxx
segment byte public 'dos'
6 assume
cs:dosxxx
,ds:nothing
,es:nothing
,ss:nothing
8 ;**********************************************************************
10 ;* MODULE: dosqfilemode Read file attribute
12 ;* FUNCTION: Query file mode
16 ;* push@ asciiz file path name
17 ;* push@ word attribute return area
18 ;* push dword reserved
21 ;* MODULES CALLED: PC-DOS Int 21h, ah=43h, change file mode
23 ;*********************************************************************
37 Attrib dd ?
; current attribute pointer
38 Path dd ?
; file path name pointer
42 Enter dosqfilemode
; push registers
44 lds dx,[bp].path
; set path name
46 mov ax,4300h
; set op code
47 int 21h
; get file mode
48 jc error
; jump if error
50 lds si,[bp].attrib
; setup return data area
51 mov word ptr [si],cx ; save attribute there
52 sub ax,ax ; set good return code
53 jmp short exit
; return
55 error: mov ax,error_code
; set error code
57 exit: mexit
; pop registers
58 ret size
str - 6 ; return