|
|||||||||||
| 技術(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 欄目:單片機 |
|
| 2樓: | >>參與討論 |
| 作者: vilan 于 2006/11/11 12:36:00 發(fā)布:
(英文-土爾其文)版電子詞典
|
|
| 3樓: | >>參與討論 |
| 作者: vilan 于 2006/11/11 12:39:00 發(fā)布:
GOON... * - 本貼最后修改時間:2006-11-11 12:40:31 修改者:vilan
|
|
| 4樓: | >>參與討論 |
| 作者: vilan 于 2006/11/11 12:41:00 發(fā)布:
GOON...
|
|
| 5樓: | >>參與討論 |
| 作者: vilan 于 2006/11/11 12:42:00 發(fā)布:
另一圖...
|
|
| 6樓: | >>參與討論 |
| 作者: vilan 于 2006/11/11 12:43:00 發(fā)布:
再來一圖...
|
|
| 7樓: | >>參與討論 |
| 作者: vilan 于 2006/11/11 12:44:00 發(fā)布:
game...
|
|
| 8樓: | >>參與討論 |
| 作者: vilan 于 2006/11/11 12:48:00 發(fā)布:
現(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 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |