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

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

?? 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:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片久久久久久久| 国产乱子轮精品视频| 久久99精品一区二区三区三区| 成人丝袜视频网| 欧美一区二区精品在线| 亚洲免费在线电影| 国产精品亚洲午夜一区二区三区| 欧美日韩亚洲不卡| 亚洲天堂福利av| 国产精品一区二区久久不卡| 欧美色综合影院| 亚洲女人****多毛耸耸8| 国产91精品欧美| 精品人伦一区二区色婷婷| 天堂蜜桃一区二区三区| gogogo免费视频观看亚洲一| 精品国产凹凸成av人网站| 亚洲成人综合网站| 欧美在线观看视频在线| 成人欧美一区二区三区| 丁香天五香天堂综合| 久久婷婷色综合| 激情综合亚洲精品| 日韩欧美高清dvd碟片| 午夜精品成人在线视频| 精品视频色一区| 亚洲综合免费观看高清完整版在线| 成人app网站| 国产精品久久久久婷婷二区次| 久久丁香综合五月国产三级网站| 日韩一级片网址| 日本午夜一区二区| 日韩限制级电影在线观看| 蜜臀av一区二区在线观看| 欧美浪妇xxxx高跟鞋交| 午夜精品福利在线| 日韩一区二区在线播放| 精品在线免费视频| 国产网站一区二区| 福利一区福利二区| 亚洲免费观看视频| 欧美性大战久久久久久久蜜臀| 亚洲乱码中文字幕| 欧美伦理电影网| 精品一区二区在线视频| 中文字幕第一区第二区| av资源网一区| 香蕉久久一区二区不卡无毒影院| 欧美性受xxxx黑人xyx性爽| 亚洲国产一区在线观看| 欧美一卡二卡三卡| 国产精品一级片在线观看| 国产精品免费aⅴ片在线观看| 成人黄色片在线观看| 亚洲黄一区二区三区| 欧美日韩国产首页| 国产一区二区毛片| 一区二区视频在线| 欧美精品自拍偷拍动漫精品| 激情综合亚洲精品| 亚洲精品欧美专区| 欧美成va人片在线观看| 成人在线综合网站| 性做久久久久久| 欧美精彩视频一区二区三区| 在线欧美一区二区| 久久99九九99精品| 亚洲永久精品大片| www欧美成人18+| 在线观看亚洲精品视频| 久久成人精品无人区| 亚洲色图视频网站| 欧美电影免费观看高清完整版| 北岛玲一区二区三区四区| 午夜视频一区在线观看| 国产精品视频一二| 91精品国产色综合久久久蜜香臀| 丰满放荡岳乱妇91ww| 三级精品在线观看| 亚洲美女屁股眼交3| 精品日韩成人av| 欧美精品777| 色欧美片视频在线观看| 国产一区二区按摩在线观看| 一区二区三区国产精华| 久久久一区二区三区| 欧美另类z0zxhd电影| 97国产精品videossex| 国产一区二区影院| 天天影视涩香欲综合网| 亚洲天堂2014| 国产精品剧情在线亚洲| www国产成人| 欧美一二区视频| 欧美三区免费完整视频在线观看| 成人激情开心网| 国产在线不卡一区| 久久国产综合精品| 强制捆绑调教一区二区| 亚洲韩国一区二区三区| 亚洲免费三区一区二区| 亚洲欧洲精品一区二区三区| 欧美激情一区二区三区在线| 精品电影一区二区三区| 日韩免费一区二区三区在线播放| 日本国产一区二区| 色婷婷精品久久二区二区蜜臂av| 国产成人综合精品三级| 国产剧情一区二区| 狠狠色丁香久久婷婷综| 久久99精品久久久久久久久久久久| 偷拍日韩校园综合在线| 亚洲国产视频网站| 亚洲国产一区视频| 日本亚洲电影天堂| 免费成人在线影院| 国产综合久久久久影院| 国产一区免费电影| 福利电影一区二区三区| 成人国产电影网| 99re这里都是精品| 在线观看日产精品| 欧美日韩国产免费| 精品国产免费人成电影在线观看四季| 欧美一级夜夜爽| 精品国产乱码久久久久久1区2区 | 亚洲成人777| 婷婷丁香激情综合| 久久疯狂做爰流白浆xx| 国产经典欧美精品| 一本久道中文字幕精品亚洲嫩| 色8久久精品久久久久久蜜| 欧美色综合天天久久综合精品| 欧洲精品一区二区三区在线观看| 欧美日韩国产一区二区三区地区| 欧美一区二区三区婷婷月色| 日韩欧美卡一卡二| 国产精品国产三级国产| 一区二区成人在线| 美日韩一区二区| 成人一区在线看| 欧美另类一区二区三区| 久久久99免费| 亚洲国产另类av| 国产另类ts人妖一区二区| 色噜噜狠狠成人中文综合| 正在播放亚洲一区| 国产精品久99| 日本美女视频一区二区| av网站免费线看精品| 7777精品久久久大香线蕉| 国产清纯白嫩初高生在线观看91| 亚洲免费观看在线视频| 国模大尺度一区二区三区| 91高清在线观看| 久久精子c满五个校花| 亚洲午夜在线视频| 成人一区二区在线观看| 欧美一级高清片| 一区二区视频在线看| 国产美女一区二区| 欧美精品久久久久久久久老牛影院 | 91在线视频免费91| 日韩一级黄色大片| 一区二区三区不卡视频在线观看| 蜜桃视频一区二区三区在线观看| 99re6这里只有精品视频在线观看| 777午夜精品视频在线播放| 亚洲国产精品成人久久综合一区 | 欧美日韩不卡一区二区| 国产天堂亚洲国产碰碰| 日韩精品欧美精品| 在线亚洲免费视频| 日韩美女精品在线| 激情六月婷婷久久| 6080yy午夜一二三区久久| 亚洲欧美日韩系列| 成人美女在线视频| 欧美激情综合五月色丁香| 美女www一区二区| 91精品国产91久久综合桃花| 亚洲欧美国产77777| 成人av在线资源| 欧美经典三级视频一区二区三区| 捆绑调教一区二区三区| 欧美丰满高潮xxxx喷水动漫| 亚洲一区二区在线视频| 色先锋资源久久综合| 国产精品国产成人国产三级 | √…a在线天堂一区| 成人综合在线观看| 欧美激情一区二区在线| 国产精品一区二区久久不卡| 精品盗摄一区二区三区| 国产一区在线观看麻豆| 久久青草欧美一区二区三区| 韩国午夜理伦三级不卡影院| 精品国产91洋老外米糕| 久久国产三级精品| 国产亚洲欧美中文|