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

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

?? rxdosexe.asm

?? dos source
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
        getarg ax, _requiredParas
        getarg dx, _maxRequestedParas
        call _allocateMinMaxMemBlock                    ; return seg pointer to avail memory
        jc _loaderAllocMemory_50                        ; if insufficient space to load -->
        storarg _programPSP, es                         ; save PSP seg address
        storarg _allocatedSize, cx                      ; allocated size

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  create child PSP
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        getdarg dx, ax, _ExecBlock                      ; load exec structure
        call createPSP                                  ; build PSP (cx contains alloc size)
        storarg _StartSegment, es                       ; PSP here

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  set Env Block in PSP
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        getarg es, _programPSP
        getarg ax, _AllocEnv                            ; alloc environment
        mov word ptr es:[ pspEnvironment ], ax          ; environment block

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  insure parent's handle are set for both blocks
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        mov dx, es                                      ; PSP address
        mov ax, es
        sub ax, (sizeMEMBLOCK/ PARAGRAPH)
        mov es, ax                                      ; point to allocation block
        mov word ptr es:[ _memParent ], dx              ; assign parent

        getarg ax, _AllocEnv
        or ax, ax                                       ; none required ?
        jz _loaderAllocMemory_56                        ; no -->

        sub ax, (sizeMEMBLOCK/ PARAGRAPH)
        mov es, ax                                      ; point to allocation block
        mov word ptr es:[ _memParent ], dx              ; assign parent
        jmp short _loaderAllocMemory_56                 ; if everything is ok -->

;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;  free env block if error
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

_loaderAllocMemory_50:
        getarg ax, _AllocEnv
        or ax, ax                                       ; Env allocated ?
        jz _loaderAllocMemory_54                        ; no -->

        mov es, ax
        call _freeMemBlock

_loaderAllocMemory_54:
        SetError pexterrNotEnoughMemory, _loaderAllocMemory_56

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

_loaderAllocMemory_56:
        getarg ax, _programPSP
        getarg es, _StartSegment
        getarg cx, _allocatedSize

_loaderAllocMemory_66:
        Return

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Compute Checksum                                             ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Input:                                                       ;
        ;   es:di  start address of block                               ;
        ;   cx     number of bytes in block                             ;
        ;                                                               ;
        ;  Output:                                                      ;
        ;   ax     sum, ignoring carry, of all words in block           ;
        ;...............................................................;

computeChecksum:
        push di
        push cx
        shr cx, 1
        xor ax, ax

computeChecksum_04:
        add ax, word ptr es:[ di ]
        add di, 2
        loop computeChecksum_04

        pop cx
        pop di
        ret

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Set Execution State                                          ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Usage:                                                       ;
        ;   ds:dx  address of SETEXEC block                             ;
        ;                                                               ;
        ;...............................................................;

_SetExecuteMode:

        clc
        ret  

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Append Program Name to Environment Block                     ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Usage:                                                       ;
        ;   es     environment block                                    ;
        ;   ds:dx  program name                                         ;
        ;                                                               ;
        ;...............................................................;

appendProgramNametoEnv:

        mov si, dx                                      ; save name to program

        xor al, al                                      ; byte to search for
        xor di, di                                      ; byte offset
        mov cx, 0FFFFh                                  ; maximum length

appendPgmName_10:
        repnz scasb                                     ; scan for end of string
        scasb                                           ; test if double null
        jne appendPgmName_10                            ;

        mov ax, 0001                                    ; # strings to append
        stosw                                           ;

appendPgmName_14:
        lodsb
        stosb
        or al, al                                       ; null byte copied ?
        jnz appendPgmName_14                            ; not yet -->

        ret

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Get Size of Envirnment String                                ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Input:                                                       ;
        ;   es     environment block string (must be non-zero)          ;
        ;                                                               ;
        ;  Output:                                                      ;
        ;   cx     # paragraphs requested. (if zero, allocate none).    ;
        ;                                                               ;
        ;...............................................................;

_getSizeOfEnvString:

        push di

        xor al, al                                      ; byte to search for
        xor di, di                                      ; byte offset
        mov cx, 0FFFFh                                  ; maximum length

getSizeEnv_10:
        repnz scasb                                     ; scan for end of string
        scasb                                           ; test if double null
        jne getSizeEnv_10                               ;

        mov cx, di                                      ; get length
        add cx, (sizeEXPANDNAME + sizeParagraph - 1)/2  ; include size of trailing filename
        add cx, 2                                       ; include count word
        shr cx, 1                                       ; size to paragraphs
        shr cx, 1
        shr cx, 1
        shr cx, 1
        or cx, cx

        pop di
        ret

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  Set Program Name in Memory Block                             ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Input:                                                       ;
        ;   es     block to change (not header address)                 ;
        ;   dx     full or partial filename (null terminated)           ;
        ;                                                               ;
        ;...............................................................;

_setProgramNameInMemBlock:

        SaveSegments
        mov ax, es
        or ax, ax                                       ; no destination mem block ?
        jz _setProgName_22                              ; ignore set name -->

        sub ax, (sizeMEMBLOCK/ PARAGRAPH)
        push ax                                         ; save seg address

        mov ax, ss
        mov ds, ax                                      ; just in case it's not
        mov es, ax                                      ; scan expanded name

        xor ax, ax
        mov cx, -1
        mov di, dx                                      ; scan name for null terminator
        repnz scasb                                     ; scan name
        not cx                                          ; valid count

_setProgName_08:
        cmp byte ptr es:[ di - 1 ], '\'
        jz _setProgName_12                              ; we have start of name -->
        dec di
        loop _setProgName_08

        mov di, dx                                      ; name contained no path

_setProgName_12:
        mov si, di                                      ; save filename 
        mov dx, di                                      ; save filename 
        pop es                                          ; restore memblock seg address

        mov ax, 2020h
        mov di, offset _memPgmName                      ; where to init
        mov cx, sizefnName / 2                          ; size filename in words
        rep stosw                                       ; initialize to blanks

        mov di, offset _memPgmName                      ; where to init
        mov cx, sizefnName                              ; size filename in bytes

_setProgName_16:
        lodsb                                           ; get byte
        or al, al                                       ; end of name ?
        jz _setProgName_22                              ; if end of name -->
        cmp al, '.'                                     ; extension ?
        jz _setProgName_22                              ; if end of name -->

        stosb                                           ; save character in mem block
        loop _setProgName_16

_setProgName_22:
        RestoreSegments
        ret

        ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';
        ;  If Overlay Loader, return size                               ;
        ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
        ;                                                               ;
        ;  Input:                                                       ;
        ;   al     mode flag                                            ;
        ;   cx:dx  file size to return                                  ;
        ;                                                               ;
        ;...............................................................;

ifOverlayLoader:
        push es
        push si
        RetCallersStackFrame es, si                     ; save size only if non-Overlay
        mov word ptr es:[ _CX           ][ si ], dx
        mov word ptr es:[ _BX           ][ si ], cx
        mov word ptr es:[ _AX           ][ si ], 0000
        pop si
        pop es

        cmp al, execLoadOverlay                         ; load overlay ?
        clc
        ret

RxDOS   ENDS
        END


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕不卡一区| 日韩精品一区二区三区四区| 亚洲国产中文字幕在线视频综合 | 欧美调教femdomvk| 久久电影国产免费久久电影 | 亚洲高清不卡在线| 国产日韩欧美在线一区| 欧美一区日韩一区| 色诱视频网站一区| 国产a久久麻豆| 偷偷要91色婷婷| 亚洲精品国产品国语在线app| 精品成人在线观看| 欧美浪妇xxxx高跟鞋交| 色综合天天做天天爱| 国产宾馆实践打屁股91| 美女视频黄久久| 亚洲自拍都市欧美小说| 中文字幕一区免费在线观看| 国产亚洲欧美日韩日本| 欧美一区二区三区电影| 欧美性生活久久| 一本大道久久a久久综合| 成人国产亚洲欧美成人综合网 | 一本一本大道香蕉久在线精品| 国产一区在线观看麻豆| 美女视频黄 久久| 免费欧美日韩国产三级电影| 婷婷夜色潮精品综合在线| 一区二区三区在线观看网站| ...xxx性欧美| 亚洲欧洲www| 中文字幕中文字幕中文字幕亚洲无线| 久久网站最新地址| 日韩你懂的电影在线观看| 9191精品国产综合久久久久久| 色嗨嗨av一区二区三区| 色成人在线视频| 91精品福利视频| 色噜噜狠狠一区二区三区果冻| 91免费国产在线观看| 91免费看视频| 欧美羞羞免费网站| 在线观看91精品国产麻豆| 欧美一区二区三区在线看| 欧美日韩在线播放| 欧美一区二区私人影院日本| 91精品国产aⅴ一区二区| 日韩一级黄色片| 精品久久久久一区二区国产| 亚洲精品一线二线三线| 久久久久久亚洲综合影院红桃| 久久久欧美精品sm网站| 国产亚洲午夜高清国产拍精品| 国产亚洲一区二区三区四区| 亚洲欧洲av一区二区三区久久| 亚洲精品国产一区二区三区四区在线| 亚洲精品国产品国语在线app| 亚洲一二三四在线| 青青草精品视频| 国产一区二区三区日韩| 国产成人精品aa毛片| 97精品电影院| 欧美日韩午夜在线| 精品精品国产高清a毛片牛牛 | 久久99热狠狠色一区二区| 精品亚洲成a人在线观看| 国产精品18久久久久久久久| 99久久久久久99| 欧美日本韩国一区二区三区视频 | 91精品在线一区二区| 欧美大片一区二区| 国产精品视频第一区| 五月天久久比比资源色| 国产一区二区影院| 色婷婷综合久色| 日韩免费观看2025年上映的电影| 久久久久久电影| 亚洲综合一区在线| 国精品**一区二区三区在线蜜桃| av电影一区二区| 日韩一区二区视频在线观看| 国产精品伦理一区二区| 日韩成人一区二区三区在线观看| 国产成人午夜精品影院观看视频| 一本一道波多野结衣一区二区 | 一区二区三区在线观看视频| 久久精品国产亚洲a| 99国产精品国产精品毛片| 91精品一区二区三区在线观看| 久久久91精品国产一区二区精品| 亚洲激情自拍视频| 国产精品一区二区久久不卡| 91女神在线视频| 国产欧美日韩综合| 亚洲成a人片在线不卡一二三区| 韩国精品一区二区| 欧美日韩一区中文字幕| 国产精品久久久久久久久久免费看 | 69成人精品免费视频| 国产精品网站导航| 久久国产剧场电影| 欧美三级三级三级爽爽爽| 国产精品青草综合久久久久99| 日韩激情av在线| 在线视频你懂得一区| 国产欧美一区二区精品久导航| 免费观看一级特黄欧美大片| 色综合中文综合网| 亚洲国产综合在线| 99久久精品免费看国产免费软件| 精品国产一区二区在线观看| 亚洲午夜久久久久| 99精品欧美一区二区三区小说 | 青青草国产成人av片免费| 在线精品国精品国产尤物884a| 久久青草欧美一区二区三区| 日本不卡123| 欧美军同video69gay| 一区二区欧美视频| 色偷偷久久一区二区三区| 国产精品久久久久久久浪潮网站 | 国产精品久久久久影院老司| 韩国理伦片一区二区三区在线播放| 欧美一区二区三区视频在线 | 亚洲mv在线观看| 色一区在线观看| 中文字幕一区二区三区在线播放| 国产成人免费av在线| 精品国偷自产国产一区| 韩国精品在线观看| 久久久久久日产精品| 国产精品中文字幕日韩精品| 欧美精品一区二区三区蜜臀| 理论片日本一区| 日韩欧美激情在线| 国内精品伊人久久久久av影院| 欧美一区二区网站| 美美哒免费高清在线观看视频一区二区 | 欧美经典一区二区| 高清久久久久久| 中文一区在线播放| 99re8在线精品视频免费播放| 亚洲欧洲国产专区| 91久久国产综合久久| 亚洲777理论| 91精品国产色综合久久不卡蜜臀| 秋霞影院一区二区| 精品国产欧美一区二区| 国产激情一区二区三区四区 | 国内一区二区视频| 久久精品日产第一区二区三区高清版| 国产在线播放一区三区四| 国产午夜精品一区二区| av一区二区三区四区| 亚洲欧美激情在线| 欧美老女人第四色| 久久99国产精品成人| 亚洲国产精华液网站w | 在线观看免费视频综合| 天天做天天摸天天爽国产一区| 欧美一区二区三区电影| 国产suv一区二区三区88区| 国产精品福利一区| 欧美日韩视频不卡| 奇米色一区二区三区四区| 久久女同性恋中文字幕| 99这里只有精品| 天天综合天天做天天综合| 久久综合九色综合欧美98| 97aⅴ精品视频一二三区| 婷婷久久综合九色综合伊人色| 精品粉嫩aⅴ一区二区三区四区| 99re这里都是精品| 蜜桃视频在线观看一区| 国产精品萝li| 欧美精品一二三区| 成人一级片网址| 性感美女极品91精品| 国产亚洲va综合人人澡精品| 在线视频你懂得一区二区三区| 久久成人免费电影| 亚洲女女做受ⅹxx高潮| 日韩欧美成人激情| 97精品视频在线观看自产线路二| 日本亚洲三级在线| 亚洲激情自拍视频| 国产亚洲精久久久久久| 欧美日韩一区小说| 高清shemale亚洲人妖| 日韩在线一区二区| 国产精品黄色在线观看| 日韩欧美一区二区在线视频| 91首页免费视频| 国模娜娜一区二区三区| 午夜欧美电影在线观看| 亚洲欧洲av另类| 国产午夜精品久久久久久久 | 国产成人aaaa| 日韩高清一区在线|