RSS    

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

OpenSem endp

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

; Semaphores func(197) (C5H) subfunction 01h

;

; var

;     RetCode,HiHandle,LoHandle,SemaValu,OpenCnt : Integer;

;

; RetCode := ExamSem(HiHandle,LoHandle,SemaValu,OpenCnt);

;

begin ExamSem

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x+12]      ; hi handle

      mov   dx,[si]

      lds   si,[bp+x+8] ; lo handle

      mov   cx,[si]

      mov   ax,0C501h   ; set function

      int   21h

      lds   di,[bp+x+4] ; return semaphore value

      mov   [di],cx

      mov   dh,00h

      lds   di,[bp+x]

      mov   [di],dx     ; return open count

      mov   ah,00h

      pop   ds

      pop   bp

      ret   16

ExamSem endp

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

; Semaphores func(197) (C5H) subfunction 02h

;

; var

;     RetCode,HiHandle,LoHandle,TimeOut : Integer;

;

; RetCode := WaitSem(HiHandle,LoHandle,TimeOut);

;

begin WaitSem

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x+8] ; hi handle

      mov   dx,[si]

      lds   si,[bp+x+4] ; lo handle

      mov   cx,[si]

      lds   si,[bp+x]

      mov   bp,[si]     ; set time out

      mov   ax,0C502h   ; set function

      int     21h

      mov   ah,00h

      pop   ds

      pop   bp

      ret   12

WaitSem endp

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

; Semaphores func(197) (C5H) subfunction 03h

;

; var

;     RetCode,HiHandle,LoHandle : Integer;

;

; RetCode := SigSem(HiHandle,LoHandle);

;

begin SigSem

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x+4] ; hi handle

      mov   dx,[si]

      lds   si,[bp+x]   ; lo handle

      mov   cx,[si]

      mov   ax,0C503h   ; set function

      int   21h

      mov   ah,00h

      pop   ds

      pop   bp

      ret   8

SigSem      endp

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

; Semaphores func(197) (C5H) subfunction 04h

;

; var

;     RetCode,HiHandle,LoHandle : Integer;

;

; RetCode := ClosSem(HiHandle,LoHandle);

;

begin ClosSem

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x+4] ; hi handle

      mov   dx,[si]

      lds   si,[bp+x]   ; lo handle

      mov   cx,[si]

      mov   ax,0C504h   ; set function

      int   21h

      mov   ah,00h

      pop   ds

      pop   bp

      ret   8

ClosSem endp

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

; Get or Set Lock Mode func(198) (C6H)

;

; var

;     Mode,Func : Integer;

;

; Mode := setlck(Func);

;

begin setlck

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x]

      mov   ax,[si]     ; set the subfunction

      mov   ah,0C6h     ; set the function

      int   21h

      mov   ah,0

      pop   ds

      pop   bp

      ret   4

setlck endp

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

; Transactional Backout func(199) (C7H)

;

; var

;     RetCode, Func : Integer;

;

; RetCode := BakOuts(Func);

;

begin BakOuts

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x]   ; set the subfunction

      mov   ax,[si]

      mov   ah,0C7h     ; set the function

      int   21h

      mov   ah,0

      pop   ds

      pop   bp

      ret   4

BakOuts endp

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

; Begin transaction  func(200) (C8H)

;

; var

;     RetCode,Mode : Integer;

;

; RetCode := btrans(Mode);

;

begin btrans

      mov   ah,0C8h

      call  arg1t

      ret   4

btrans      endp

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

; End Transaction func(201) (C9H)

;

; var

;     RetCode : Integer;

;

; RetCode := etrans;

;

begin etrans

      mov   ah,0C9H

      int   021h

      mov   ah,00h

      ret

etrans      endp

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

; Exc.log File (202) (CA)

;

; var

;     RetCode, FcbAddr : Integer;

;

; RetCode := exclog(FcbAddr);

;

begin exclog

      mov   ah,0CAH

      call  arg1f

      ret   4

exclog      endp

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

; Exc Lock Set    func(203) (CBH)

;

; var

;     RetCode, Mode : Integer;

;

; RetCode := exclcks(Mode);

;

begin exclcks

      mov   ah,0CBH

      call  arg1

      ret   4

exclcks endp

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

; Exclusive file unlock (204) (CC)

;

; var

;     RetCode, FcbAddr : Integer;

;

; RetCode := exculkf(FcbAddr);

;

begin exculkf

      mov   ah,0CCH

      call  arg1f

      ret   4

exculkf endp

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

; Exclusive Unlock Set (205)(CD)

;

; var

;     RetCode : Integer;

;

; RetCode := exculks;

;

begin exculks

      mov   ah,0CDH

      int   21h

      mov   ah,00h

      ret

exculks endp

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

; Exc Clear file func(206) (CEH)

;

; var

;     RetCode, FcbAddr : Integer;

;

; RetCode := excclrf(FcbAddr);

;

begin excclrf

      mov   ah,0CEH

      call  arg1f

      ret   4

excclrf endp

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

; Exc Clear Set  func(207) (CFH)

;

; var

;     RetCode : Integer;

;

; RetCode := excclrs;

;

begin excclrs

      mov   ah,0CFH

      int   21h

      mov   ah,00h

      ret

excclrs endp

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

; Log Record(s) func(208) (D0H)

;

; var

;     RetCode, Flag, Timeout : Integer ;

;     RecStr      : String[n];

;

; RetCode := reclog(RecStr,Flag,Timeout);

;

begin reclog

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x+4] ; load flags

      mov   ax,[si]

      lds   si,[bp+x]   ; get timeout

      mov   si,[si]

      lds   dx,[bp+x+8] ; get ptr to string

      ; inc dx

      mov   bp,si      ; move timeout to BP

      mov   ah,0D0h

      int   21h

      mov   ah,0

      pop   ds

      pop   bp

      ret   14

reclog      endp

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

; Record Lock func(209) (D1H)

;

; var

;     RetCode, Mode : Integer;

;

; RetCode := reclck(Mode);

;

begin reclck

      push  bp

      mov   bp,sp

      push  ds

      lds   si,[bp+x]

      mov   bp,[si]

      mov   ah,0D1h

      int   21h

      mov   ah,0

      pop   ds

      pop   bp

      ret   6

reclck      endp

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

; Record Unlock func(210) (D2H)

;

; var

;     RetCode   : Integer;

;     Semaphore : String[n];

;

; RetCode := reculk(Semaphore);

;

begin reculk

      mov   ah,0D2H

      call  arg1a

      ret   4

reculk      endp

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

; Unlock Record Set func(211) (D3H)

;

; var

;     RetCode : Integer;

;

; RetCode := reculks;

;

begin reculks

      mov   ah,0D3H

      int   21h

      mov   ah,00h

      ret

reculks endp

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

; Record Clear func(212) (D4H)

;

; var

;     RetCode   : Integer;

;     Semaphore : String[n];

;

; RetCode := recclr(Semaphore);

;

begin recclr

      mov   ah,0D4H

      call  arg1a

      ret   4

recclr      endp

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

; Clear record set func(213) (D5H)

;

; var

;     RetCode : Integer;

;

; RetCode := recclrs;

;

begin recclrs

      mov   ah,0D5H

      int   21h

      mov   ah,00h

      ret   4

recclrs endp

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

; End of Job  func(214) (D6H)

;

; var

;     RetCode : Integer;

;

; RetCode := eoj;

;

begin eoj

      mov   ah,0D6H

      int   21h

      mov   ah,00h

      ret   4

eoj   endp

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

; Logout System  func(215) (D7H)

;

; var

;     RetCode : Integer;

;

; RetCode := sysout;

;

begin sysout

      mov   ah,0D7H

      int   21h

      mov   ah,00h

      ret   4

sysout      endp

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

; Vol Statistics func(218) (DAH)

;

; var

;     RetCode,volume : Integer;

;     reply  : String[n];

;

; RetCode := volstat(volume, reply);

begin volstat

      mov   ah,0DAh

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


Íîâîñòè


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

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

Ïîêà íåò

Íîâîñòè â Twitter è Facebook

                   

Íîâîñòè

© 2010.