亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rxdossft.asm

?? dos source
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
        TITLE   'SFT - Support SFT Management'
        PAGE 59, 132
        .LALL

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Support SFT Management                                       ;
        ;...............................................................;

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Real Time Dos                                                ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  This material  was created as a published version  of a DOS  ;
        ;  equivalent product.   This program  logically  functions in  ;
        ;  the same way as  MSDOS functions and it  is  internal  data  ;
        ;  structure compliant with MSDOS 6.0                           ;
        ;                                                               ;
        ;  This product is distributed  AS IS and contains no warranty  ;
        ;  whatsoever,   including  warranty  of   merchantability  or  ;
        ;  fitness for a particular purpose.                            ;
        ;                                                               ;
        ;                                                               ;
        ;  (c) Copyright 1990, 1997. Api Software and Mike Podanoffsky  ;
        ;      All Rights Reserved Worldwide.                           ;
        ;                                                               ;
        ;  This product is protected under copyright laws and  may not  ;
        ;  be reproduced  in whole  or in part, in any form  or media,  ;
        ;  included but not limited to source listing, facsimile, data  ;
        ;  transmission, cd-rom, or  floppy disk without the expressed  ;
        ;  written consent of the author.                               ;
        ;                                                               ;
        ;  License  for  distribution for  commercial  use  or  resale  ;
        ;  required from:                                               ;
        ;                                                               ;
        ;  Api Software                                                 ;
        ;  12 South Walker Street                                       ;
        ;  Lowell,  MA   01851                                          ;
        ;                                                               ;
        ;  internet: mikep@world.std.com                                ;
        ;                                                               ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;  Compile with MASM 5.1                                        ;
        ;...............................................................;

        include rxdosmac.asm
        include rxdosdef.asm

RxDOS   SEGMENT PARA PUBLIC 'CODE'
        assume cs:RxDOS, ds:RxDOS, es:RxDOS, ss:RxDOS

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Handle/ SFT File System Functions                            ;
        ;...............................................................;

        public createSFTEntry
        public FindAvailableSFTHandle
        public findmatchingFCBSFT
        public FindSFTbyHandle
        public InitSFTEntry
        public initSFTfromDirEntry
        public MapApptoSFTHandle
        public MapSFTtoAppHandle 
        public releaseSFT
        public VerifyAvailableHandle
        public TestIfMoveHandleTable

        public _SFTCloseAllFiles
        public _SFTCloseFile
        public _SFTCommitFile
        public _SFTCreateFile
        public _SFTOpenFile
        public _SFTReadFile
        public _SFTWriteFile
        public _SFTReadLine
        public invalidateOpenSFTs

        extrn AllocateInitCluster               : near
        extrn CCBChanged                        : near
        extrn convFilenametoFCBString           : near
        extrn devCharRead                       : near
        extrn devCharWrite                      : near
        extrn devCharReadLine                   : near
        extrn devCharWriteLine                  : near

        extrn fillLogicalBuffer                 : near
        extrn getDPB                            : near
        extrn getAddrDPB                        : near
        extrn getNextCluster                    : near
        extrn getSysDateinDirFormat             : near
        extrn initdiskAccess                    : near
        extrn locateCCBPHeader                  : near
        extrn LocateFile                        : near
        extrn LocateFreeDirSlot                 : near
        extrn readBuffer                        : near
        extrn readLine                          : near
        extrn readLogicalBuffer                 : near
        extrn ReleaseClusterChain               : near
        extrn AllocateCluster                   : near

        extrn incorrectDiskMedia                : near
        extrn updateChangedCCB                  : near
        extrn updateAllChangedCCBBuffers        : near
        extrn writeLogicalBuffer                : near
        extrn _div32                            : near
        extrn _RxDOS_CurrentPSP                 : word
        extrn _RxDOS_TabPosition                : word
        extrn _RxDOS_pFT                        : dword

        extrn pexterrInvalidFunction            : near
        extrn pexterrFileNotFound               : near
        extrn pexterrPathNotFound               : near
        extrn pexterrIllegalName                : near
        extrn pexterrNoHandlesAvailable         : near
        extrn pexterrAccessDenied               : near
        extrn pexterrInvalidHandle              : near
        extrn pexterrArenaTrashed               : near
        extrn pexterrNotEnoughMemory            : near
        extrn pexterrInvalidBlock               : near
        extrn pexterrInvalidAccess              : near
        extrn pexterrInvalidDrive               : near
        extrn pexterrCurrentDirectory           : near
        extrn pexterrNoMoreFiles                : near
        extrn pexterrFileExists                 : near

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Map handle found to App handle                               ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Returns:                                                     ;
        ;  ax   handle id #                                             ;
        ;...............................................................;

MapSFTToAppHandle:
        cmp word ptr ss:[ _RxDOS_CurrentPSP ], 0000
        jz MapSFTToAppHandle_16                         ; if no app -->

        push es
        push si
        push cx

        mov es, word ptr ss:[ _RxDOS_CurrentPSP ]       ; get PSP
        mov cx, word ptr es:[ pspFileHandleCount ]      ; get max count
        les si, dword ptr es:[ pspFileHandlePtr  ]      ; get JHT pointer

MapSFTToAppHandle_04:
        cmp byte ptr es:[ si ], -1                      ; empty slot ?
        jz MapSFTToAppHandle_08                         ; yes, allocate -->

        inc si                                          ; next
        loop MapSFTToAppHandle_04                       ; continue looping

        stc
        mov ax, offset pexterrNoHandlesAvailable        ; problem, no app handles left
        jmp short MapSFTToAppHandle_12                  ; exit -->

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  allocate App Handle
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

MapSFTToAppHandle_08:
        mov byte ptr es:[ si ], al                      ; replace sys handle into app
        mov ax, si                                      ; app handle offset

        mov es, word ptr ss:[ _RxDOS_CurrentPSP ]       ; restore PSP address
        sub ax, word ptr es:[ pspFileHandlePtr. _pointer ]

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  return
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

MapSFTToAppHandle_12:
        pop cx
        pop si
        pop es

MapSFTToAppHandle_16:
        ret

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Map App Handle to SFT Handle                                 ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Returns:                                                     ;
        ;  ax   SFT handle id #                                         ;
        ;...............................................................;

MapAppToSFTHandle:
        push es
        push si
        cmp word ptr ss:[ _RxDOS_CurrentPSP ], 0000
        jz MapAppToSFTHandle_08                         ; if no app -->

        mov si, ax
        mov ax, 00FFh                                   ; assume can't be found

        mov es, word ptr ss:[ _RxDOS_CurrentPSP ]       ; get PSP
        cmp si, word ptr es:[ pspFileHandleCount ]      ; beyond max handles
        jnc MapAppToSFTHandle_08                        ; yes, con't convert -->
        les ax, dword ptr es:[ pspFileHandlePtr ]       ; get JHT address
        add si, ax                                      ; use file handle as offset
        mov al, byte ptr es:[ si ]                      ; get SFT handle
        mov ah, 0

MapAppToSFTHandle_08:
        pop si
        pop es
        cmp ax, 00FFh                                   ; see if its unused
        ret

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Find Available File Handle                                   ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ; File handles are stored in a dynamic file handles area created;
        ; on initialization by the FILES = < arg > command.             ;
        ;                                                               ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ; Returns:                                                      ;
        ;  ax   handle id #                                             ;
        ; es:bx pointer to available SFT entry                          ;
        ;                                                               ;
        ; SFT   entry is automatically reserved and must be cleared     ;
        ;       if it wont be used.                                     ;
        ;...............................................................;

FindAvailableSFTHandle:

        Entry
        ddef _currentFT
        def  _entries
        def  _handle, 0000

        les bx, dword ptr ss:[ _RxDOS_pFT ]

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  look for available handle
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

findSFTHandle_08:
        stordarg _currentFT, es, bx

        mov cx, word ptr es:[ numberSFTEntries ][ bx ]  ; get # files at this sft
        mov word ptr [ _entries ][ bp ], cx

        lea bx, offset sizeFT [ bx ]
        or cx, cx 
        jle findSFTHandle_22

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  is handle available ?
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

findSFTHandle_12:
        cli
        cmp word ptr es:[ sftRefCount ][ bx ], 0        ; entry available ?
        jnz findSFTHandle_14                            ; no -->
        inc word ptr es:[ sftRefCount ][ bx ]           ; RESERVE ENTRY
        mov ax, word ptr [ _handle ][ bp ]              ; count handles
        jmp short findSFTHandle_30                      ; exit -->

findSFTHandle_14:
        sti
        inc word ptr [ _handle ][ bp ]
        add bx, sizeSFT                                 ; next SFT entry
        loop findSFTHandle_12                           ; if more -->

        les bx, dword ptr [ _currentFT ][ bp ]
        cmp word ptr es:[ nextFTPointer. _pointer ][ bx ], -1
        jz findSFTHandle_22

        les bx, dword ptr es:[ nextFTPointer ][ bx ]
        jmp findSFTHandle_08                            ; go to next FT -->
        
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  if out of handles system wide
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

findSFTHandle_22:
        stc
        mov ax, offset pexterrNoHandlesAvailable

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  return
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

findSFTHandle_30:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu久久天堂性欧美| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品午夜久久| 久久久久久久网| 日韩视频123| 日韩欧美的一区二区| 91精品福利在线一区二区三区| 欧美人牲a欧美精品| 欧美三级三级三级| 日韩三级中文字幕| 精品99久久久久久| 国产人成一区二区三区影院| 中文字幕av一区 二区| 久久久久久黄色| 国产精品久久久久久久久久免费看| 一色桃子久久精品亚洲| 亚洲欧美日韩中文播放 | 天天色图综合网| 日韩激情一区二区| 国产呦萝稀缺另类资源| 国产成人一区在线| 91捆绑美女网站| 欧美另类高清zo欧美| 精品播放一区二区| 亚洲视频一区在线| 日韩av中文字幕一区二区| 国内精品写真在线观看| 成人综合婷婷国产精品久久| 色av综合在线| 精品国产免费视频| 一区二区三区在线免费播放| 老司机午夜精品| 成人福利视频网站| 欧美精品第1页| 国产拍欧美日韩视频二区| 亚洲婷婷综合色高清在线| 日韩成人一区二区三区在线观看| 国产乱国产乱300精品| 91久久免费观看| 久久夜色精品国产噜噜av| 亚洲精品一二三| 国产麻豆9l精品三级站| 欧美日韩在线电影| 国产精品私房写真福利视频| 丝袜美腿成人在线| 99精品热视频| 久久久久综合网| 日精品一区二区| 色吧成人激情小说| 国产人成亚洲第一网站在线播放 | 综合av第一页| 蜜桃视频一区二区三区在线观看| 91视频精品在这里| 欧美一区二区三区在线视频| 国产精品电影院| 久久99精品国产麻豆不卡| 91福利国产精品| 国产精品久久久久久久久快鸭| 美国av一区二区| 99久久国产免费看| 国产精品美女久久久久高潮| 精品一区二区三区久久| 91精品国产综合久久精品app| 亚洲美女电影在线| jlzzjlzz欧美大全| 国产精品美女久久久久久久| 国产传媒一区在线| 亚洲精品在线观| 国产真实乱偷精品视频免| 88在线观看91蜜桃国自产| 一区二区在线免费观看| 成人美女视频在线看| 久久久久久黄色| 久久99精品久久久久| 日韩一级片在线观看| 亚洲国产另类av| 欧洲av一区二区嗯嗯嗯啊| 亚洲欧洲日韩在线| 大陆成人av片| 国产精品久久久久久久久免费丝袜 | 三级成人在线视频| 欧美中文字幕不卡| 亚洲一区日韩精品中文字幕| 日本丶国产丶欧美色综合| 一区精品在线播放| 色呦呦国产精品| 亚洲卡通动漫在线| 最新日韩在线视频| 久久久不卡网国产精品二区 | 欧美午夜一区二区三区免费大片| 国产精品丝袜久久久久久app| 成人精品在线视频观看| 国产精品美女久久久久久久久| 成人永久看片免费视频天堂| 国产精品久久午夜| 成人免费视频视频| 亚洲少妇中出一区| 欧美人狂配大交3d怪物一区| 亚洲国产wwwccc36天堂| 欧美成人vps| 不卡av在线网| 天堂成人国产精品一区| 欧美成人激情免费网| 丁香婷婷综合激情五月色| 亚洲欧洲三级电影| 91国偷自产一区二区三区成为亚洲经典| 亚洲第一会所有码转帖| 日韩一区二区精品| 不卡一区二区三区四区| 日本欧美大码aⅴ在线播放| 国产婷婷一区二区| 欧美日韩精品一区视频| 国产一区二区三区免费观看| 中文字幕一区二区三区在线不卡| 欧美日韩和欧美的一区二区| 国产成人午夜电影网| 亚洲一区精品在线| 亚洲国产精品t66y| 日韩午夜激情免费电影| 一本大道久久精品懂色aⅴ| 免费成人在线影院| 夜夜嗨av一区二区三区网页 | 99视频一区二区三区| 日精品一区二区| 自拍av一区二区三区| 精品99999| 欧美日韩国产乱码电影| av一区二区不卡| 国内精品在线播放| 亚洲国产中文字幕在线视频综合 | 日本黄色一区二区| 日韩国产高清在线| 亚洲午夜av在线| 中文字幕欧美日本乱码一线二线| 欧美一区国产二区| 色综合久久中文综合久久97| 国产一区二区三区在线观看免费视频| 亚洲黄网站在线观看| 欧美国产在线观看| 欧美大肚乱孕交hd孕妇| 欧美少妇一区二区| 91色.com| 成人91在线观看| 国产成人av福利| 国产成人自拍在线| 韩国精品主播一区二区在线观看| 日韩**一区毛片| 日韩国产精品久久| 日韩精品电影一区亚洲| 婷婷成人激情在线网| 一区二区欧美国产| 亚洲自拍偷拍九九九| 一区二区三区电影在线播| 国产精品久久久久久亚洲伦| 日本一区二区三区高清不卡| 久久日韩精品一区二区五区| 久久综合九色综合欧美98| 日韩欧美国产系列| 日韩午夜av电影| 日韩欧美你懂的| 精品va天堂亚洲国产| 久久精品欧美一区二区三区不卡| 久久一区二区三区四区| 日本一区二区高清| 国产精品久久久久久久久动漫 | 69av一区二区三区| 91精品国产麻豆国产自产在线| 欧美妇女性影城| 精品剧情在线观看| 欧美激情综合网| 亚洲欧洲综合另类在线| 性久久久久久久久| 激情欧美一区二区三区在线观看| 国产精品亚洲综合一区在线观看| 成人毛片视频在线观看| 91亚洲午夜精品久久久久久| 99re热这里只有精品视频| 99久久国产综合精品色伊| 欧美日韩国产经典色站一区二区三区| 91精品国产乱| 国产精品热久久久久夜色精品三区| 亚洲少妇中出一区| 天天综合日日夜夜精品| 国产电影一区二区三区| 欧美性大战xxxxx久久久| 欧美一级免费观看| 国产精品乱人伦一区二区| 亚洲高清在线精品| 国产+成+人+亚洲欧洲自线| 欧美色老头old∨ideo| 久久丝袜美腿综合| 亚洲国产人成综合网站| 极品瑜伽女神91| 欧美视频完全免费看| 国产日韩av一区| 视频一区欧美精品| 99久久er热在这里只有精品15 | 欧洲一区二区三区在线| 久久久久久久久久久久电影 | 国产亚洲一本大道中文在线|