RSS    

   Ðåôåðàò: Èíòðàíåò ñåòè

      push  bp

      mov   bp,sp

      push  ds

      push  es

      lds   si,[bp+x+4] ; addr for the volume number

      mov   dx,[si]           ; get the volume number

      les   di,[bp+x]   ; ptr to reply buffer

      inc   di          ; add 1 to get the address of the string

      int   21h

      mov   ah,00h

      pop   es

      pop   ds

      pop   bp

      ret   8

volstat endp

;--------------------------------

; Local Disks  func(219) (DBH)

;

; var

;     NumDisks : Integer;

;

; NumDisks := locdrv;

;

begin locdrv

      mov   ah,0DBH

      int   21h

      mov   ah,00h

      ret

locdrv endp

;--------------------------------

; WorkStation ID func(220) (DCH)

;

; note: This routine returns the station number as an integer.

;     It can also be returned in ASCII with this call.

;

; var

;     StationNum : Integer;

;

; StationNum := wsid;

;

begin wsid

       mov     ah,0DCH

       int     21h

       mov     ah,00h

       ret

wsid   endp

;--------------------------------

; Set Error mode func(221) (DDH)

;

; var

;     mode : Integer;

;

; errmode(mode);

;

begin errmode

      mov   ah,0DDH

      call  arg1

      ret   4

errmode endp

;--------------------------------

; Broadcast Mode func(222) (DEH)

;

; var

;     mode : Integer;

;

; bcsmode(mode);

;

begin bcsmode

      mov   ah,0DEH

      call  arg1

      ret   4

bcsmode endp

;--------------------------------

; Modify LST Device  func(223) (DFH)

;

; var

;     RetCode, Mode : Integer;

;

; RetCode := ctlspl(Mode);

;

begin ctlspl

      mov   ah,0DFh

      call  arg1

      ret   4

ctlspl      endp

;--------------------------------

; Spool Request func(224) (E0H)

;

; var

;     ErrCode         : Integer;

;     RequestBlock, Reply : String[n];

;

; ErrCode := splreq(RequestBlock, Reply);

;

begin splreq

      mov   ah,0E0h

      call  req_rep

      ret   8

splreq      endp

;--------------------------------

; Pipe Request func(225) (E1H)

;

; var

;     ErrCode         : Integer;

;     RequestBlock, Reply : String[n];

;

; ErrCode := pipreq(RequestBlock, Reply);

;

begin pipreq

      mov   ah,0E1h

      call  req_rep

      ret   8

pipreq      endp

;--------------------------------

; Directory Path func(226) (E2H)

;

; var

;     ErrCode         : Integer;

;     RequestBlock, Reply : String[n];

;

; ErrCode := dpath(RequestBlock, Reply);

;

begin dpath

      mov   ah,0E2h

      call  req_rep

      ret   8

dpath endp

;--------------------------------

; Login system func(227) (E3H)

;

; var

;     ErrCode         : Integer;

;     RequestBlock, Reply : String[n];

;

; ErrCode := syslog(RequestBlock, Reply);

;

begin syslog

      mov   ah,0E3h

      call  req_rep

      ret   8

syslog      endp

;--------------------------------

; Set File Attribute func(228) (E4H)

;

; var

;     RetCode, FcbAddr, Attribute : Integer;

;

; RetCode := fattr(FcbAddr, Attribute);

;

begin fattr

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x]

      mov   cx,[si]           ; cx = attribute

      lds   dx,[bp+x+4] ; dx = address of fcb

      mov   ah,0E4h

      int   21h

      mov   ah,0

      pop   ds

      pop   bp

      ret

fattr endp

;--------------------------------

; Update file size func(229) (E5H)

;

; var

;     ErrCode,FcbAddr : Integer;

;

; ErrCode := updfcb(FcbAddr);

;

begin updfcb

      mov   ah,0E5H

      call  arg1f

      ret   4

updfcb      endp

;--------------------------------

; Copy File to File func(230) (E6H)

;

; var

;     RetCode,FcbSource,FcbDest : Integer;

;     CountLow, CountHigh       : Integer;

;

; RetCode := cpyfile(FcbSource, FcbDest, CountLow, CountHigh)

;

;

begin cpyfile

      mov   ah,0E6h

      push  bp

      mov   bp,sp

      push  ds

      push  es

      lds   si,[bp+x]   ; addr of the high byte cnt

      mov   dx,[si]           ; dx=high word of byte cnt

      lds   si,[bp+x+4] ; addr low word of byte cnt

      mov   cx,[si]           ; cx=low 16 bits of count

      les   di,[bp+x+8] ; address of dest fcb

      lds   si,[bp+x+12]      ; address of the source fcb

      int   21h

      mov   ah,0

      pop   es

      pop   ds

      pop   bp

      ret   16

cpyfile endp

;--------------------------------

; get time / date string func(231) (E7H)

;

; var

;     time : String[n];

;

; nettod(time);

;

; where time is a string of the form Y M D H M S

;

begin nettod

      mov   ah,0E7h

      call  arg1a

      ret   4

nettod      endp

;--------------------------------

; Set Close mode func(232) (E8H)

;

; var

;     mode : Integer;

;

; clsmode(mode);

;

begin clsmode

      mov   ah,0E8H

      call  arg1wor

      ret   4

clsmode endp

;--------------------------------

; Shell Base Status func(233) (E9H)

;

; var

;     RetFlags, drive : Integer;

;

; RetFlags := drvmap(drive);

;

begin drvmap

      mov   ax,0E900h

      call  arg1

      ret   4

drvmap      endp

;--------------------------------

; Return Shell Version func(234) (EAH)

;

; var

;     RetCode, Mode : Integer;

;     EnvirStr      : String[n];

;

; RetCode := retshl(EnvirStr, Mode);

;

begin retshl

      push  bp

      mov   bp,sp

      push  ds

      push  es

      les   di,[bp+x+4] ; set es:di to point at the buffer

      inc   di          ; point di at the start of the data area

      lds   si,[bp+x]   ; put the mode into al

      mov   ax,[si]

      mov   ah,0EAh

      int   21h

      mov   ah,00h

      pop   es

      pop   ds

      pop   bp

      ret   8

retshl      endp

;--------------------------------

; ascii log File (235) (EB)

;

; var

;     RetCode, Flags, TimeOut : Integer;

;     Asciiz                  : String[n];

;

; RetCode := asclog(Flags, TimeOut, Asciiz);

;

begin asclog

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x+8]

      mov   ax,[si]           ; flags into al

      lds   dx,[bp+x]   ; pointer to the asciiz string

      lds   si,[bp+x+4]

      mov   bp,[si]           ; time out into bp

      mov   ah,0EBH

      int   21h

      mov   ah,00h

      pop   ds

      pop   bp

      ret   12

asclog      endp

;--------------------------------

; ASCIIZ file unlock (236) (EC)

;

; var

;     RetCode : Integer;

;     Asciiz      : String[n];

;

; RetCode := asculkf(Asciiz);

;

begin asculkf

      mov   ah,0ECH

      call  arg1a

      ret   4

asculkf endp

;--------------------------------

; ASCIIZ Clear file func(237) (EDH)

;

; var

;     RetCode : Integer;

;     Asciiz      : String[n];

;

; RetCode := ascclrf(Asciiz);

;

begin ascclrf

      mov   ah,0EDH

      call  arg1a

      ret   4

ascclrf endp

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;

; Get Physical Station Number  EEH

;

; var

;     StationNo : Integer;

;

; StationNo := Get_PSN;

;

begin Get_PSN

      mov   ah,0EEh

      int   21h

      mov   ah,0

      ret

Get_PSN endp

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;

; Get Shell Table Addresses (239) EFH

;

; var

;     Mode,Segment,Offset : Integer;

;

; Get_STA(Mode,Segment,Offset);

;

begin Get_STA

      push  bp

      mov   bp,sp

      push  es

      push  ds

      mov   si,[bp+x+8] ; get the mode

      mov   ax,[si]

      mov   ah,0EFh     ; set the function

      int   21h

      lds   di,[bp+x+4] ; store the segment location

      mov   [di],es

      lds   di,[bp+x]   ; store the offset location

      mov   [di],si

      pop   ds

      pop   es

      pop   bp

      ret   12

Get_STA endp

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;

; Set Preferred File Server (240) F0H

;

; var

;     RetServer, Mode, NewServ : Integer;

;

; RetServer := SetServ(Mode,NewServ);

Ñòðàíèöû: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13


Íîâîñòè


Áûñòðûé ïîèñê

Ãðóïïà âÊîíòàêòå: íîâîñòè

Ïîêà íåò

Íîâîñòè â Twitter è Facebook

                   

Íîâîñòè

© 2010.