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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rxdoscpy.asm

?? dos source
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
        TITLE   'Copy - RxDOS Command Shell Copy'
        PAGE 59, 132
        .LALL

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  RxDOS Command Shell Copy                                     ;
        ;...............................................................;

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  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                                        ;
        ;...............................................................;

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  RxDOS Command Shell                                          ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Programmer's Notes:                                          ;
        ;                                                               ;
        ;  Command Shell consists of  two parts bound  together into a  ;
        ;  single executable load.  There  exists  a  single  resident  ;
        ;  command shell which is accessible by an Int 2Eh.             ;
        ;                                                               ;
        ;...............................................................;

        include rxdosmac.asm
        include rxdosdef.asm
        include rxdoscin.asm

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  RxDOS Command Shell                                          ;
        ;...............................................................;

RxDOSCMD SEGMENT PUBLIC 'CODE'
         assume cs:RxDOSCMD, ds:RxDOSCMD, es:RxDOSCMD, ss:RxDOSCMD

        public _Copy

        extrn CmndError_BadSwitch                       : near
        extrn CmndError_CannotCopyUntoSelf              : near
        extrn CmndError_CannotCreateFile                : near
        extrn CmndError_ContentsLostBeforeCopy          : near
        extrn CmndError_InvalidNumberArguments          : near
        extrn CmndError_FileNotFound                    : near
        extrn _Copy_FilesCopied                         : near
        extrn CountArgs                                 : near
        extrn CRLF                                      : near
        extrn deleteArg                                 : near
        extrn DisplayErrorMessage                       : near
        extrn DisplayLine                               : near
        extrn RxDOS_DTA                                 : near
        extrn RxDOS_AllFiles                            : near

        extrn _AppendPathName                           : near
        extrn _CopyString                               : near
        extrn _Copy_FilesCopied                         : near
        extrn _CmndParse_SeparatorCheck                 : near
        extrn _makePath                                 : near
        extrn _lowerCase                                : near
        extrn _SwitchChar                               : near
        extrn _splitpath                                : near
        extrn _sprintf                                  : near

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Copy filenameA+filenameB+filenameC filenameDest              ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Usage:                                                       ;
        ;   ss:di  Arg Array                                            ;
        ;   ax     Number of arguments in array                         ;
        ;...............................................................;

_Copy:

        Entry
        def __argarray, di                              ; args array
        def __numArgs, ax                               ; # args
        def __Mode, 0000                                ; non-z if ascii/ z if binary
        def _overide, FALSE                             ; no automatic overide
        def __AddMode                                   ; 0000 not add mode
        def __NextAddMode                               ; 0000 next is add mode
        def __bytesRead                                 ; bytes actually read

        def _destfilenameSameAsSource, FALSE            ; if take names from source
        def _filesCopied, 0000
        def _srcHandle  , -1
        def _destHandle , -1
        ddef _destCluster
        ddef _srcCluster

        defbytes _destFilename  , 130
        defbytes _createFilename, 130
        defbytes _copyFilename  , 130
        defbytes _buffer, 128

        _tempFilename = _copyFilename                   ; equate temp filename

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  get/test destination filename
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        mov dx, offset CmndError_InvalidNumberArguments
        cmp ax, 2                                       ; must have at least two args
        ifc _copyDisplayError                           ; any less means error -->

        dec ax
        add ax, ax                                      ; args offset in words
        add di, ax                                      ; point to last arg
        push word ptr [ di ]                            ; get last arg address
        call deleteArg

        pop si
        lea di, offset [ _tempFilename ][ bp ]
        call _copyArgument                              ; copy argument

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  see if dest is just a directory name
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        mov cx, ATTR_DIRECTORY
        lea dx, offset [ _tempFilename ][ bp ]
        Int21 FindFirstFile                             ; locate file with name
        jc _Copy_18                                     ; not a directory -->

    ;  if . or .. handle special

_Copy_08:
        test byte ptr [ RxDOS_DTA. findFileAttribute ], ATTR_DIRECTORY
        jz _Copy_18                                     ; if not a dir entry -->

        cmp byte ptr [ RxDOS_DTA. findFileName ], '.'
        jnz _Copy_24                                    ; if dir and not . or .. -->

        Int21 FindNextFile                              ; locate next file
        jnc _Copy_08                                    ; see if also a dir -->

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  scan name for just directory
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
_Copy_18:
        lea di, offset [ _tempFilename ][ bp ]

_Copy_20:
        cmp byte ptr [ di ], 00                         ; null ?
        jz _Copy_26                                     ; yes, done -->
        inc di
        cmp byte ptr [ di-1 ], ':'                      ; only drive /colon entered ?
        jnz _Copy_20                                    ; no -->
        cmp byte ptr [ di ], 00                         ; 
        jnz _Copy_26

_Copy_24:
        mov si, offset RxDOS_AllFiles                   ; dummy path 
        call _AppendPathName                            ; append all files
        storarg _destfilenameSameAsSource, TRUE         ; \*.*

_Copy_26:
        lea si, offset [ _tempFilename ][ bp ]
        lea di, offset [ _destFilename ][ bp ]          ; expansion area
        mov byte ptr [ di ], '\'                        ; (in case no output generated)
        Int21 GetActualFileName                         ; expand name
        ifc _copyDisplayError                           ; destination doesn't exist -->

        xor ax, ax
        mov cx, 4
        lea di, offset [ _destCluster ][ bp ]           ; clusters
        rep stosw                                       ; clear clusters

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  main loop through all args
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
_Copy_30:
        mov word ptr [ __AddMode  ][ bp ], 0000         ; not add mode
        mov word ptr [ __NextAddMode  ][ bp ], 0000     ; next is not add mode

_Copy_32:
        mov di, word ptr [ __argarray ][ bp ]           ; get arg pointer to next arg
        mov si, word ptr [ di ]                         ; point to text 
        or si, si                                       ; null entry ?
        ifz _Copy_Return                                ; yes, return -->

        add word ptr [ __argarray ][ bp ], 2            ; skip this argument next time

        mov al, byte ptr [ si ]
        cmp al, byte ptr [ _SwitchChar ]                ; switch ?
        ifz _Copy_TestSwitch                            ; yes, go test switch -->

        cmp al, '+'
        ifz _Copy_AddMode                               ; set add mode -->

        lea di, offset [ _copyFilename ][ bp ]
        call _copyArgument

        call _scanForwardArgArray                       ; see if followed by +
        mov word ptr [ __NextAddMode  ][ bp ], ax       ; next add mode

        mov dx, di                                      ; copy filename
        mov cx, ATTR_NORMAL   
        Int21 FindFirstFile                             ; locate file with name
        jnc _Copy_36                                    ; if file found -->

        mov dx, offset CmndError_FileNotFound
        call DisplayLine
        jmp _copyErrorCleanUp

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  open source file
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
_Copy_36:
        lea di, offset [ _copyFilename ][ bp ]
        call _replaceWithRealName

        Int21 OpenFile, OPEN_ACCESS_READONLY            ; open source file
        ifc _copyDisplayError                           ; can't, display error -->

        mov bx, ax
        storarg _srcHandle, ax
        call GetClusterValue                            ; src cluster
        mov word ptr [ _srcCluster. _low  ][ bp ], ax   ; (cluster)
        mov word ptr [ _srcCluster. _high ][ bp ], dx   ; (drive )
        jz _Copy_38                                     ; if not a file -->

        call _compareClusters                           ; compare src and dest Clusters
        jnz _Copy_38                                    ; no -->

    ; error: file destroyed

        mov dx, offset CmndError_ContentsLostBeforeCopy
        call DisplayErrorMessage                        ; dest file same as source
        jmp _copyErrorCleanUp

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  attempt create file
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
_Copy_38:
        getarg bx, _destHandle
        cmp bx, -1                                      ; any dest file ?
        jz _Copy_40                                     ; no, MUST create -->
        cmp word ptr [ __AddMode  ][ bp ], 0000         ; add mode ?
        ifnz _Copy_56                                   ; yes, append to existing file -->

_Copy_40:
        lea si, offset [ _destFilename ][ bp ]          ; destination filename
        lea di, offset [ _createFilename ][ bp ]        ; make destination name
        call _CopyString                                ; copy string

        cmp word ptr [ _destfilenameSameAsSource ][ bp ], TRUE
        jnz _Copy_48                                    ; name available -->

        lea si, offset [ _destFilename ][ bp ]          ; destination filename
        lea di, offset [ _createFilename ][ bp ]        ; make destination name
        mov byte ptr [ di ], '\'                        ; (in case no output generated)
        Int21 GetActualFileName                         ; expand name
        ifc _copyDisplayError                           ; destination doesn't exist -->

        lea di, offset [ _copyFilename ][ bp ]
        call _PtrTo_Filename                            ; get pointer to filename
        push di

        lea di, offset [ _createFilename ][ bp ]        ; make destination name
        call _PtrTo_Filename                            ; get pointer to filename

        pop si                                          ; source name
        call _CopyString                                ; copy string

_Copy_48:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品免费视频| 精品国产不卡一区二区三区| 欧美96一区二区免费视频| 久久久久久久久伊人| 欧美日韩中文国产| 99精品偷自拍| 国产精品中文有码| 日韩电影一区二区三区| 亚洲免费高清视频在线| 国产亚洲欧美色| 日韩女优毛片在线| 欧美日韩一区二区在线观看视频 | 精品国产乱码久久| 欧美日本韩国一区| 日本精品一级二级| 白白色 亚洲乱淫| 国产成人综合在线| 精品一区二区在线观看| 日本不卡高清视频| 日韩影院精彩在线| 午夜亚洲福利老司机| 亚洲综合成人在线| 亚洲欧美日韩在线| 中文字幕在线一区| 中文一区一区三区高中清不卡| 欧美mv日韩mv亚洲| 欧美一级黄色片| 欧美一区二区三区婷婷月色| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 成人免费视频播放| 大白屁股一区二区视频| 成熟亚洲日本毛茸茸凸凹| 国产激情一区二区三区桃花岛亚洲| 久久99久久99小草精品免视看| 日本色综合中文字幕| 日本vs亚洲vs韩国一区三区 | 中文乱码免费一区二区 | 亚洲国产成人porn| 在线观看av一区二区| 成人性生交大片免费看中文| 亚洲成人av一区| 欧美唯美清纯偷拍| 在线亚洲一区二区| 欧美亚洲一区三区| 欧美亚洲日本一区| 4438亚洲最大| 欧美一区二区不卡视频| 欧美成人高清电影在线| 精品国产一区二区亚洲人成毛片| 日韩免费一区二区| 亚洲精品一区二区三区在线观看| 久久综合资源网| 久久精品一区二区| 国产精品不卡一区| 亚洲国产美女搞黄色| 日av在线不卡| 国产成人无遮挡在线视频| 99视频有精品| 欧美亚洲国产bt| 欧美一级日韩一级| 国产欧美日韩麻豆91| 亚洲麻豆国产自偷在线| 午夜视频在线观看一区| 国产乱人伦偷精品视频不卡| 波多野结衣的一区二区三区| 在线观看亚洲精品视频| 日韩欧美不卡在线观看视频| 国产精品视频免费| 亚洲愉拍自拍另类高清精品| 美女视频免费一区| 成人黄色一级视频| 欧美丝袜丝交足nylons| 欧美大肚乱孕交hd孕妇| 中文字幕亚洲精品在线观看| 亚洲mv在线观看| 国产成人鲁色资源国产91色综| 99国产精品久久久| 欧美一级黄色大片| 亚洲女性喷水在线观看一区| 日本特黄久久久高潮 | 国产69精品久久久久毛片| 欧美综合亚洲图片综合区| 欧美电影免费提供在线观看| 综合网在线视频| 日韩高清在线不卡| a级精品国产片在线观看| 亚洲男人电影天堂| 久久精工是国产品牌吗| 97精品视频在线观看自产线路二| 日韩三级电影网址| 亚洲免费在线视频一区 二区| 免费在线观看一区| 色欧美88888久久久久久影院| 日韩欧美成人一区二区| 亚洲五月六月丁香激情| zzijzzij亚洲日本少妇熟睡| 日韩久久精品一区| 亚洲国产三级在线| 不卡一区二区三区四区| 精品国精品国产| 亚洲成人综合网站| 99精品在线观看视频| 国产亚洲一区字幕| 免费成人在线视频观看| 91福利区一区二区三区| 国产精品三级电影| 国产尤物一区二区在线| 欧美日韩成人激情| 亚洲美女视频在线| gogo大胆日本视频一区| 久久女同精品一区二区| 美女视频黄频大全不卡视频在线播放| 色婷婷av一区| **性色生活片久久毛片| 国产91综合一区在线观看| 欧美变态口味重另类| 性久久久久久久| 91高清视频免费看| 成人免费一区二区三区在线观看 | 国产精品一区二区在线观看网站| 在线播放亚洲一区| 亚洲6080在线| 欧美色图激情小说| 亚洲一区在线观看免费观看电影高清| 99久久综合99久久综合网站| 中文字幕一区av| 99精品视频一区二区三区| 国产精品每日更新在线播放网址| 国产一区二区精品久久| 久久久欧美精品sm网站| 国产乱码精品一区二区三| 精品国产三级电影在线观看| 蜜桃视频第一区免费观看| 日韩精品一区二| 国产麻豆精品95视频| 国产日韩欧美综合在线| 岛国精品在线播放| 综合久久国产九一剧情麻豆| 99久久国产免费看| 亚洲一区免费在线观看| 欧美日韩二区三区| 奇米影视一区二区三区小说| 日韩三级免费观看| 国产一区二区在线影院| 国产三级久久久| 91在线小视频| 亚洲成人手机在线| 日韩一区二区三区在线观看| 激情综合色综合久久| 国产欧美日韩不卡| 91在线视频播放| 亚洲成av人片观看| 精品国产一区二区亚洲人成毛片| 国产精品 欧美精品| 亚洲色图都市小说| 欧美美女视频在线观看| 美国三级日本三级久久99 | 日本一区二区三区在线观看| 91在线精品一区二区三区| 亚洲v中文字幕| 精品美女被调教视频大全网站| 国产精品亚洲综合一区在线观看| 国产精品久久一级| 欧美日韩一级二级三级| 国产在线播放一区| 1000精品久久久久久久久| 欧美日韩的一区二区| 国产综合色视频| 亚洲欧美另类小说视频| 91精品国产综合久久久久久| 国产成人在线影院| 亚洲午夜私人影院| 欧美精品一区二区三区一线天视频| 成人精品小蝌蚪| 午夜国产精品影院在线观看| 日本一区二区三区高清不卡| 欧美在线观看视频在线| 狠狠色伊人亚洲综合成人| 亚洲美女免费在线| 久久久综合九色合综国产精品| 色就色 综合激情| 国产综合久久久久久久久久久久| 亚洲视频一二三区| 精品日韩一区二区| 欧美中文字幕一二三区视频| 狠狠色伊人亚洲综合成人| 亚洲一区二区综合| 国产日韩精品一区二区三区在线| 欧美日韩视频在线一区二区| 国产91在线观看丝袜| 免费日本视频一区| 亚洲日本成人在线观看| 亚洲精品在线三区| 欧美一区二区在线播放| 91污在线观看| 国产成人av影院| 美女视频一区在线观看| 亚洲成人tv网| 亚洲人成精品久久久久久| 久久久久久**毛片大全|