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

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

?? rd.inc

?? MenuetOS是一個用匯編開發的32/64位PC操作系統
?? INC
字號:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;   Rd.inc (c) Ville Turjanmaa
;;   License: GPL. See file copying for details.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ramdisk_free_space:    
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;   returns free space in edi
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        push   eax ebx ecx

        mov    eax,fat_table
        xor    edi,edi
        mov    ecx,1448000/512
      rdfs1:
        mov    ebx,[eax]
        and    ebx,4095
        cmp    ebx,0
        jne    rdfs2
        add    edi,512
      rdfs2:
        add    eax,2
        loop   rdfs1

        pop    ecx ebx eax
        ret
   

expand_filename:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; exapand filename with '.' to 11 character
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        push esi edi ebx

        mov  esi,eax

        mov  edi,esp                  ; check for '.' in the name
        add  edi,12+8
        mov  eax,edi

        mov  [eax+0],dword '    '
        mov  [eax+4],dword '    '
        mov  [eax+8],dword '    '
   
      flr1:
   
        cmp  [esi],byte '.'
        jne  flr2
        mov  edi,eax
        add  edi,7
        jmp  flr3
   
      flr2:
   
        mov  bl,[esi]
        mov  [edi],bl
   
      flr3:
   
        inc  esi
        inc  edi
   
        mov  ebx,eax
        add  ebx,11
   
        cmp  edi,ebx
        jbe  flr1
   
        pop  ebx edi esi
        ret
   
   
fileread:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;  fileread - sys floppy
;
;  eax  points to filename 11 chars
;  ebx  first wanted block       ; 1+ ; if 0 then set to 1
;  ecx  number of blocks to read ; 1+ ; if 0 then set to 1
;  edx  mem location to return data
;  esi  length of filename 12*X
;
;  ret ebx = size or 0xffffffff file not found
;      eax = 0 ok read or other = errormsg
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

   ;     push   esi
   ;     mov    esi,eax
   ;     push   dword [esi+11]
   ;     mov    [esi+11],byte 13
   ;     mov    [esi+12],byte 10
   ;     mov    [esi+13],byte 10
   ;     push   esi
   ;     call   sys_msg_board_str
   ;     pop    esi
   ;     pop    dword [esi+11]
   ;     pop    esi

        cmp    esi,0               ; return ramdisk root
        jne    fr_noroot
        cmp    ebx,224/16
        jbe    fr_do
        mov    eax,5
        mov    ebx,0
        ret
      fr_do:
        mov    edi,edx
        dec    ebx
        shl    ebx,9
        mov    esi,fat_base+512*19
        add    esi,ebx
        shl    ecx,9
        cld
        rep    movsb
        mov    eax,0 ; ok read
        mov    ebx,0
        ret
     fr_noroot:
   
        sub    esp,32
        push   eax ecx edi
        mov    edi , esp
        add    edi , 3*4
        mov    ecx , 32
        mov    eax , 0
        cld
        rep    stosb
        pop    edi ecx eax
        call   expand_filename
   
      frfloppy:

        ; Read starts at block no1
   
        cmp    ebx,0
        jne    frfl5
        mov    ebx,1
      frfl5:

        ; Return 1+ blocks

        cmp    ecx,0
        jne    frfl6
        mov    ecx,1
      frfl6:
   
        dec    ebx
   
        push   eax ; 24 file size
        push   eax ; 20 file size
        push   ebx ; 16 first wanted block
        push   ecx ; 12 amount of 512 blocks to read
        push   edx ; 08 return data to
        push   esi
        push   edi

        mov    edi,fat_base+512*18+512  ;Point at directory
        mov    edx,224 +1
   
l.20:   dec    edx
        jnz    l.21
        mov    eax,5                    ; file not found
        mov    ebx,-1

        add    esp,32+28
        ret

      fd_file_not_found: db 'File not found',13,10,0
      fd_file_found: db 'File found',13,10,0

      l.21:

  ;      mov    esi,eax                  ;Name of file we want
  ;      mov    ecx,11
  ;      cld
  ;      rep    cmpsb                    ;Found the file?
  ;      je     fifound                  ;Yes
  ;      add    cl, 21                   ;Offset to next directory entry
  ;      add    edi, ecx                 ;Advance to next entry

        mov    ecx , [eax]
        cmp    ecx , [edi]
        jne    noflf
        mov    ecx , [eax+4]
        cmp    ecx , [edi+4]
        jne    noflf
        mov    ecx , [eax+7]
        cmp    ecx , [edi+7]
        jne    noflf
        add    edi , 11
        jmp    fifound
      noflf:

        add    edi , 32

        jmp    l.20
   
     fifound:
   
        mov    ebx,[edi-11+28]          ;file size
        and    ebx,0x1fffff 
        mov    [esp+20],ebx
        mov    [esp+24],ebx
        mov    eax,[edi-11+26]
        and    eax,65535
        mov    edi,eax                  ;edi=cluster
   
      frnew:
   
        add    eax,31                   ;bootsector+2*fat+filenames
        shl    eax,9                    ;*512
        add    eax,fat_base             ;image base
        mov    ebx,[esp+8]
        mov    ecx,512                  ;[esp+4]
   
        cmp    [esp+16],dword 0         ;Wanted 512 byte block ?
        jne    frfl7

        push   ecx esi edi
        mov    esi , eax
        mov    edi , ebx
        mov    ecx , 512
        cld
        rep    movsb
        pop    edi esi ecx
        ; call memmove

        add    [esp+8],dword 512
        dec    dword [esp+12]           ;last wanted cluster ?
        cmp    [esp+12],dword 0 ; 0.80
        je     frnoread
        jmp    frfl8
      frfl7:
        dec    dword [esp+16]
      frfl8:
        shl    edi,1                    ;find next cluster from FAT
        add    edi,fat_table  ; 0xD80000 ;  0x280000
        mov    eax,[edi]
        and    eax,4095
        mov    edi,eax
        cmp    edi,4095                 ;eof  - cluster
        jz     frnoread2
   
        cmp    [esp+24],dword 512       ;eof  - size
        jb     frnoread
        sub    [esp+24],dword 512
   
        jmp    frnew

      frnoread2:

        cmp    [esp+16],dword 0         ; eof without read ?
        je     frnoread

        pop    edi
        pop    esi
        pop    edx
        pop    ecx
        pop    ebx
        pop    ebx     ; ebx <- eax : size of file

        add    esp,32+4

        mov    eax,6   ; end of file
        ret

      frnoread:
   
        pop    edi esi edx ecx
        add    esp,4
        pop    ebx     ; ebx <- eax : size of file
        add    esp,36
        mov    eax,0
        ret
   
filedelete:   
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; filedelete - sys floppy
;
; in:
; eax - filename 11 chars
;
; out:
; eax - 0 = successful, 1 = file not found
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        mov    ebp,1  ; file not found as default

      filedelete_newtry:

        sub    esp,32
        call   expand_filename
   
        push   eax ebx ecx edx esi edi

        mov    edi,fat_base+512*18+512  ;Point at directory
        mov    edx,224 +1
   
     l20d:
        sub    edx,1
        cmp    edx,0
        jnz    l21d
        jmp    frnoreadd
     l21d:
        mov    esi,eax                  ;Name of file we want
        mov    ecx, 11
        cld
        rep    cmpsb                    ;Found the file?
        je     fifoundd                 ;Yes
        add    cl, 21                   ;Offset to next directory entry
        add    edi, ecx                 ;Advance to next entry
        jmp    l20d
     fifoundd:
   
        mov    [edi-11],byte 0xE5       ;mark filename deleted
        add    edi,0xf
        mov    eax,[edi]
        and    eax,65535
        mov    edi,eax                  ;edi = cluster
   
      frnewd:
   
        shl    edi,1                    ;find next cluster from FAT
        add    edi,fat_table ; 0x280000
        mov    eax,[edi]
        mov    [edi],word 0x0           ;clear fat chain cluster
        and    eax,4095
        mov    edi,eax
        cmp    edi,dword 4095           ;last cluster ?
        jz     frnoreadd2
   
        jmp    frnewd
   
      frnoreadd2:
   
        pop    edi esi edx ecx ebx eax
        add    esp,32
        mov    ebp,0       ; file found
        jmp    filedelete_newtry
   
      frnoreadd:
   
        pop    edi esi edx ecx ebx eax
        add    esp,32
        mov    eax,ebp
        ret
   
filesave:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;   
; filesave - sys floppy
;
; eax points to filename 11 chars
;
;        eax      ; pointer to file name
;        ebx      ; buffer
;        ecx      ; count to write in bytes
;        edx      ; 0 create new , 1 append
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
        sub  esp,32
        call expand_filename
        cmp  edx,0
        jnz  fsdel
        pusha
        call filedelete
        popa
   
      fsdel:
   
        call   ramdisk_free_space
        cmp    ecx,edi
        jb     rd_do_save
        add    esp,32
        mov    eax,1    ; not enough free space
        ret
   
      rd_do_save:
   
        push   eax ebx ecx edx esi edi

        mov    edi,fat_base+512*18+512  ;Point at directory
        mov    edx,224 +1
        ; find an empty spot for filename in the root dir
     l20ds:
        sub    edx,1
        cmp    edx,0
        jnz    l21ds
        jmp    frnoreadds
     l21ds:
        cmp    [edi],byte 0xE5
        jz     fifoundds
        cmp    [edi],byte 0x0
        jz     fifoundds
        add    edi,32                   ; Advance to next entry
        jmp    l20ds
     fifoundds:
   
        push   edi                      ; move the filename to root dir
        mov    esi,[esp+4+20]
        mov    ecx,11
        cld
        rep    movsb
        pop    edi
        mov    edx,edi
        add    edx,11+0xf               ; edx <- cluster save position
        mov    ebx,[esp+12]             ; save file size
        mov    [edi+28],ebx
        mov    [edi+11],byte 0x20       ; attribute
        mov    ebx,1                    ; first cluster
   
      frnewds:
   
        add    ebx,1
        mov    edi,ebx                  ; find free cluster in FAT
        shl    edi,1
        add    edi,fat_table ;0x280000
        mov    eax,[edi]
        and    eax,4095
        cmp    eax,0x0
        jnz    frnewds
        mov    [edx],bx                 ; save next cluster pos. to prev cl.
        mov    edx,edi                  ; next save pos abs mem add
        call   fdc_filesave
        pusha                           ; move save to floppy cluster
        add    ebx,31
        shl    ebx,9
        add    ebx,fat_base
        mov    eax,[esp+32+16]
        mov    ecx,512
        call   memmove
        popa
   
        mov    eax,[esp+12]
        cmp    eax,512
        jb     flnsa
        sub    eax,512
        mov    [esp+12],eax
        mov    eax,[esp+16]
        add    eax,512
        mov    [esp+16],eax
        jmp    frnewds
   
     flnsa:
        mov    [edi],word 4095          ; mark end of file - last cluster
   
      frnoreadds:
   
        pop    edi esi edx ecx ebx eax
        add    esp,32

        pusha
        cli
        call   fdc_commitfile
        sti
        popa

        mov    eax,0
        ret



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91社区在线播放| 悠悠色在线精品| 一区二区三区蜜桃| 欧美日韩一区小说| 视频在线观看国产精品| 日韩欧美激情在线| 成av人片一区二区| 日韩精品五月天| 日韩电影在线看| 国产精品你懂的在线| 色综合夜色一区| 日韩av在线播放中文字幕| 亚洲午夜精品久久久久久久久| 欧美久久久久久蜜桃| 国产剧情在线观看一区二区| 国产精品卡一卡二卡三| 3d成人h动漫网站入口| 成人av网址在线| 99国产精品国产精品毛片| 亚洲国产wwwccc36天堂| 视频一区二区不卡| 精品一二线国产| 亚洲成人av免费| 亚洲三级免费电影| 中文成人av在线| 一区二区视频在线| 免费在线视频一区| 亚洲第四色夜色| 久久99精品国产麻豆不卡| 粉嫩一区二区三区性色av| 另类专区欧美蜜桃臀第一页| 亚洲一二三专区| 亚洲三级在线免费观看| 日韩中文字幕不卡| 夫妻av一区二区| 欧美色欧美亚洲另类二区| 欧美成人性战久久| 欧美一卡二卡三卡四卡| 欧美日韩在线播放一区| 久久久噜噜噜久久人人看| 欧美成人女星排名| 亚洲欧洲日韩在线| 国产精品久久久久久一区二区三区| 亚洲色欲色欲www| 日韩av电影天堂| 91一区二区在线| 精品国产凹凸成av人导航| 26uuu色噜噜精品一区二区| 精品对白一区国产伦| 亚洲精品一卡二卡| 国产一区二区精品久久99 | 韩日欧美一区二区三区| 亚洲午夜精品网| 成人免费高清在线| 一本久道中文字幕精品亚洲嫩| 国产91富婆露脸刺激对白| 欧美无砖专区一中文字| 在线电影一区二区三区| 最新久久zyz资源站| 91高清在线观看| 91啦中文在线观看| 国产亚洲一区字幕| 综合久久给合久久狠狠狠97色| 捆绑变态av一区二区三区| 欧美日韩另类国产亚洲欧美一级| 欧美人妖巨大在线| 亚洲精品美腿丝袜| 99精品视频一区| 国产精品美女久久福利网站| 狠狠色综合色综合网络| 欧美一区二区视频在线观看2022 | 91国偷自产一区二区使用方法| 久久精品亚洲麻豆av一区二区| 另类人妖一区二区av| 3atv一区二区三区| 午夜精品久久久久久| 国产老妇另类xxxxx| 久久久亚洲精华液精华液精华液| 美女网站色91| 91年精品国产| 一区二区三区在线不卡| 欧美在线一二三四区| 精品国产免费视频| 国产在线观看一区二区| 久久新电视剧免费观看| 国产传媒久久文化传媒| 欧美日韩在线观看一区二区| 婷婷六月综合亚洲| 日韩欧美专区在线| 亚洲美女区一区| 国产一区二区在线看| 久久夜色精品一区| 成人av网站在线观看免费| 亚洲激情男女视频| 在线91免费看| 国产一区在线精品| 国产精品国产自产拍高清av| 972aa.com艺术欧美| 亚洲无人区一区| 欧美xxx久久| 91麻豆高清视频| 日韩不卡一区二区| 国产农村妇女毛片精品久久麻豆 | 日韩欧美亚洲另类制服综合在线| 看电影不卡的网站| 国产精品国产三级国产有无不卡 | 中文字幕一区二区三区乱码在线| 一本一本大道香蕉久在线精品| 亚洲国产一区二区视频| 精品对白一区国产伦| 91蜜桃免费观看视频| 秋霞午夜鲁丝一区二区老狼| 中文字幕国产精品一区二区| 国产精品一区二区三区乱码| 亚洲免费三区一区二区| 日韩欧美aaaaaa| 色狠狠一区二区| 国产福利电影一区二区三区| 亚洲一区在线视频观看| 国产日本欧洲亚洲| 欧美一区二区私人影院日本| eeuss影院一区二区三区| 国产欧美视频在线观看| 欧美日韩国产大片| 成人高清av在线| 精品在线你懂的| 亚洲综合999| 亚洲欧洲日产国码二区| 欧美zozozo| 3d动漫精品啪啪1区2区免费| 色综合久久99| 国产精品一区二区久久不卡| 日韩黄色免费电影| 亚洲精品你懂的| 国产色一区二区| 精品人伦一区二区色婷婷| 欧美色精品在线视频| 成人手机在线视频| 国产福利视频一区二区三区| 免费高清在线视频一区·| 香蕉成人伊视频在线观看| 亚洲欧洲日韩在线| 国产精品国产三级国产普通话蜜臀 | 国产亚洲精品久| 欧美系列一区二区| 在线观看不卡一区| 91麻豆产精品久久久久久 | 综合网在线视频| 精品国产亚洲在线| 日韩欧美一区二区在线视频| 欧美精品在线一区二区三区| 欧美在线视频全部完| 日本韩国欧美国产| 色8久久精品久久久久久蜜| 91一区在线观看| 91麻豆视频网站| 在线国产亚洲欧美| 在线观看91视频| 欧美色综合久久| 91精品国产综合久久福利软件| 欧美日韩久久久一区| 欧美无砖专区一中文字| 欧美老年两性高潮| 日韩欧美国产wwwww| 亚洲精品一线二线三线| 久久久精品免费网站| 国产日韩欧美在线一区| √…a在线天堂一区| 亚洲激情中文1区| 爽爽淫人综合网网站| 九九九精品视频| 国产不卡在线播放| av中文字幕不卡| 欧美午夜精品一区二区蜜桃| 欧美日韩国产经典色站一区二区三区| 91精品中文字幕一区二区三区| 日韩色视频在线观看| 中文字幕第一区综合| 亚洲国产精品久久艾草纯爱| 精品在线一区二区三区| 91在线观看成人| 欧美男人的天堂一二区| 久久蜜臀精品av| 一区二区三区色| 久久 天天综合| 91麻豆国产香蕉久久精品| 日韩欧美一区中文| 中文字幕五月欧美| 麻豆精品精品国产自在97香蕉| 懂色中文一区二区在线播放| 欧美专区在线观看一区| 26uuuu精品一区二区| 亚洲精品日韩专区silk| 国产在线看一区| 欧美视频一区二区三区四区 | 亚洲综合色自拍一区| 久草中文综合在线| 欧美日韩一区二区在线观看视频| 精品久久久久久亚洲综合网| 亚洲男人天堂av网|