音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

電子詞典系統(tǒng)軟件仿真圖(編寫語言:匯編)

作者:vilan 欄目:單片機
電子詞典系統(tǒng)軟件仿真圖(編寫語言:匯編)
 

2樓: >>參與討論
vilan
(英文-土爾其文)版電子詞典
 

3樓: >>參與討論
vilan
GOON...
 

* - 本貼最后修改時間:2006-11-11 12:40:31 修改者:vilan

4樓: >>參與討論
vilan
GOON...
 

5樓: >>參與討論
vilan
另一圖...
 

6樓: >>參與討論
vilan
再來一圖...
 

7樓: >>參與討論
vilan
game...
 

8樓: >>參與討論
vilan
現(xiàn)在貼段內(nèi)部代碼,純匯編
 FAT..............
//----------------------------------------
;***************************************************************************
;* Func:    GetFileNameAt
;* Input:   fileIdx(H:L) - index (1-based)
;*      sfnPtr(H:L)  - short-file-NAME string pointer
;*      sfnDRR(H:L)  - short-file-NAME DRR
;*      lfnPtr(H:L)  - long-file-NAME string pointer
;*      lfnDRR(H:L)  - long-file-NAME DRR
;* OUTPUT:  $Y           - <TRUE/FALSE> success or fail
;*
;* DESCRIPTION: get file NAME at specified index
;*
;***************************************************************************
GetFileNameAt:
    .IF XFAT_EXTEND=0
        .IF AXY_PROTECT=1
        pha
        phx
        .ENDIF  ;AXY_PROTECT=1

        .IF DRR_PROTECT=1
        jsr FATSaveDRR
        .ENDIF  ;DRR_PROTECT=1
    .ENDIF  ;XFAT_EXTEND=0

    LDAX fileIdxL,fileIdxH
    pha
    phx

    LDAX <fileHandleL,<fileHandleH
    pha
    phx
    SET_WORD <fileHandleL,<fileHandleH,#<_intlFileHandle,#>_intlFileHandle

    CMP16_NEQ fileIdxL,fileIdxH,#00h,#00h,?do_get_fn
    jmp ?end_no_found

?do_get_fn:

.IF FAT32_SUPPORT=1
.IF FAT12_SUPPORT+FAT16_SUPPORT>0
    lda FI_FatType
    cmp #FAT32
    bne ?fat12
    jmp ?fat32
.ENDIF  ;FAT12_SUPPORT+FAT16_SUPPORT>0
.ENDIF  ;FAT32_SUPPORT=1

.IF FAT12_SUPPORT+FAT16_SUPPORT>0
    ;SET_WORD FI_RootDirCurrL,FI_RootDirCurrH,FI_RootDirStartL,FI_RootDirStartH
    ;SET_BYTE FI_RootDirCurrHL,FI_RootDirStartHL

    ; for sub-directory
    .IF FAT32_SUPPORT=1
    LONG_NZERO FI_DirClusStartL,FI_DirClusStartH,FI_DirClusStartHL,FI_DirClusStartHH,?is_subdir
    .ELSE   ;FAT32_SUPPORT=1
    CMP16_NEQ FI_DirClusStartL,FI_DirClusStartH,#00h,#00h,?is_subdir
    .ENDIF  ;FAT32_SUPPORT=1
    
    SET_WORD FI_RootDirCurrL,FI_RootDirCurrH,FI_RootDirStartL,FI_RootDirStartH
    SET_BYTE FI_RootDirCurrHL,FI_RootDirStartHL
    .IF FAT32_SUPPORT=1
    SET_BYTE FI_RootDirCurrHH,FI_RootDirStartHH
    jmp ?fat_getrootdir
    .ELSE   ;FAT32_SUPPORT=1
    bra ?fat_getrootdir
    .ENDIF  ;FAT32_SUPPORT=1

    ?is_subdir:
    ; FI_DirClusCurr(H:L) = FI_DirClusStart(H:L)
    SET_WORD FI_DirClusCurrL,FI_DirClusCurrH,FI_DirClusStartL,FI_DirClusStartH
    .IF FAT32_SUPPORT=1
    SET_WORD FI_DirClusCurrHL,FI_DirClusCurrHH,FI_DirClusStartHL,FI_DirClusStartHH
    .ENDIF  ;FAT32_SUPPORT=1
    ; FI_RDWindowStart(HL:H:L), FI_RDWindowEnd(HL:H:L)
    jsr _SetupRootDirWindow
    ; FI_RootDirCurr(HL:H:L) = FI_RootDirWindowStart(HL:H:L)
    SET_WORD FI_RootDirCurrL,FI_RootDirCurrH,FI_RDWindowStartL,FI_RDWindowStartH
    SET_BYTE FI_RootDirCurrHL,FI_RDWindowStartHL
    .IF FAT32_SUPPORT=1
    SET_BYTE FI_RootDirCurrHH,FI_RDWindowStartHH
    bra ?fat_getrootdir
    .ENDIF  ;FAT32_SUPPORT=1
.ENDIF  ;FAT12_SUPPORT+FAT16_SUPPORT>0

.IF FAT32_SUPPORT=1
?fat32:
    ; FI_DirClusCurr(HH:HL:H:L) = FI_DirClusStart(HH:HL:H:L)
    SET_WORD FI_DirClusCurrL,FI_DirClusCurrH,FI_DirClusStartL,FI_DirClusStartH
    SET_WORD FI_DirClusCurrHL,FI_DirClusCurrHH,FI_DirClusStartHL,FI_DirClusStartHH
    ; FI_RDWindowStart(HH:HL:H:L), FI_RDWindowEnd(HH:HL:H:L)
    jsr _SetupRootDirWindow
    ; FI_RootDirCurr(HH:HL:H:L) = FI_RootDirWindowStart(HH:HL:H:L)
    SET_WORD FI_RootDirCurrL,FI_RootDirCurrH,FI_RDWindowStartL,FI_RDWindowStartH
    SET_WORD FI_RootDirCurrHL,FI_RootDirCurrHH,FI_RDWindowStartHL,FI_RDWindowStartHH
.ENDIF  ;FAT32_SUPPORT=1

    ?fat_getrootdir:
    jsr _FAT_GetRootDir
    FAT_PTR_INIT <fatPtrL,<fatPtrH,FAT_BUF+RD_erasedFile_OFF

?loop_proc_file:
    jsr _ProcessRootDirEntry

    lda fEntryAttr
    and #RD_FILE
    bne ?is_file
    bra ?chk_remains
  ?is_file:
    DEC16 fileIdxL,fileIdxH
    CMP16_EQU fileIdxL,fileIdxH,#00h,#00h,?end_found

  ?chk_remains:
    lda fEntryAttr
    and #RD_FILE_REMAINS
    bne ?loop_proc_file
    jmp ?end_no_found

?end_found:

.IF FAT32_SUPPORT=1
    .IF FAT12_SUPPORT+FAT16_SUPPORT>0
    ; for sub-directory:
    ; reset RootDirWindow based on orgDirClus(HH:HL:H:L)
    LONG_ZERO FI_DirClusStartL,FI_DirClusStartH,FI_DirClusStartHL,FI_DirClusStartHH,?_get_rootdir
    .ENDIF  ;FAT12_SUPPORT+FAT16_SUPPORT>0
    SET_WORD FI_DirClusCurrL,FI_DirClusCurrH,orgDirClusCurrL,orgDirClusCurrH
    SET_WORD FI_DirClusCurrHL,FI_DirClusCurrHH,orgDirClusCurrHL,orgDirClusCurrHH
.ELSE   ;FAT32_SUPPORT=1
    ; for sub-directory:
    ; reset RootDirWindow based on orgDirClus(H:L)
    CMP16_EQU FI_DirClusStartL,FI_DirClusStartH,#00h,#00h,?_get_rootdir
    LDAX orgDirClusCurrL,orgDirClusCurrH
    STAX FI_DirClusCurrL,FI_DirClusCurrH
.ENDIF  ;FAT32_SUPPORT=1
    jsr _SetupRootDirWindow

    ?_get_rootdir:
    SET_WORD FI_RootDirCurrL,FI_RootDirCurrH,orgRootDirCurrL,orgRootDirCurrH
    SET_BYTE FI_RootDirCurrHL,orgRootDirCurrHL
.IF FAT32_SUPPORT=1
    SET_BYTE FI_RootDirCurrHH,orgRootDirCurrHH
.ENDIF  ;FAT32_SUPPORT=1
    jsr _FAT_GetRootDir

    LDAX orgFatPtrL,orgFatPtrH
    STAX <fatPtrL,<fatPtrH

    lda fEntryAttr
    and #RD_SFN
    bne
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請老師幫幫我吧,
DJNZ  R6,$  是什么意思?
共享我整理的紅外編碼資料
求ATMEL89c51燒寫時序
很多半導體公司都來了!
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號