日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

漢字顯示編程示例

 ekylin 2007-05-14
[轉(zhuǎn)帖]漢字顯示編程示例 作者cnangel [第 1 樓] 內(nèi)容:文件操作是編程中經(jīng)常要用到的功能,讀取運(yùn)行參數(shù)、保存運(yùn)行結(jié)果等等都需要用到文件操作。

  在大多數(shù)編程語(yǔ)言中文件操作都是很容易實(shí)現(xiàn)的,因?yàn)樗鼈兌几綆Я讼嚓P(guān)的函數(shù)庫(kù),但在匯編語(yǔ)言中沒(méi)有這樣的庫(kù),因此就只有自己動(dòng)手來(lái)做了。

在DOS平臺(tái)下文件讀寫(xiě)操作要通過(guò)DOS功能調(diào)用來(lái)做到。DOS功能調(diào)用提供了非常豐富的文件操作服務(wù),涵蓋了包括文件查找、建立、刪除、讀寫(xiě)、重定向 等大量功能。其他的編程語(yǔ)言的文件訪問(wèn)庫(kù)函數(shù)只不過(guò)是對(duì)DOS功能調(diào)用進(jìn)行了封裝而已。下面我們就來(lái)看一下幾個(gè)常用的文件操作服務(wù)的功能及調(diào)用參數(shù):

   AH = 3cH  建立文件
     入口參數(shù)
       CX    = 文件屬性
       DS:DX = 文件名字符串
     返回值
       CF = 0 操作成功,此時(shí) AX = 文件句柄
       CF = 1 操作失敗,此時(shí) AX = 錯(cuò)誤代碼

   AH = 3dH  打開(kāi)文件
     入口參數(shù)
       AL    = 0 按只讀方式打開(kāi)
               1 按只寫(xiě)方式打開(kāi)
               2 按讀寫(xiě)方式打開(kāi)
       DS:DX = 文件名字符串
     返回值
       CF = 0 操作成功,此時(shí) AX = 文件句柄
       CF = 1 操作失敗,此時(shí) AX = 錯(cuò)誤代碼

   AH = 3eH  關(guān)閉文件
     入口參數(shù)
       BX    = 文件句柄
     返回值
       無(wú)

   AH = 3fH  讀文件
     入口參數(shù)
       BX    = 文件句柄
       CX    = 要讀的字節(jié)數(shù)
       DS:DX = 存放讀入數(shù)據(jù)的緩沖區(qū)
     返回值
       CF = 0 操作成功,此時(shí) AX = 成功讀入的字節(jié)數(shù)
       CF = 1 操作失敗,此時(shí) AX = 錯(cuò)誤代碼

   AH = 40H  寫(xiě)文件
     入口參數(shù)
       BX    = 文件句柄
       CX    = 要寫(xiě)的字節(jié)數(shù)
       DS:DX = 要寫(xiě)的數(shù)據(jù)
     返回值
       CF = 0 操作成功,此時(shí) AX = 成功寫(xiě)入文件的字節(jié)數(shù)
       CF = 1 操作失敗,此時(shí) AX = 錯(cuò)誤代碼

   AH = 42H  移動(dòng)文件指針
     入口參數(shù)
       AL    = 0 從文件頭開(kāi)始向后移動(dòng)文件指針
               1 從文件指針當(dāng)前位置開(kāi)始向后移動(dòng)文件指針
               2 從文件尾開(kāi)始向前移動(dòng)文件指針
       BX    = 文件句柄
       CX:DX = 文件指針要移動(dòng)的字節(jié)數(shù)
     返回值
       CF = 0 操作成功,此時(shí) DX:AX = 當(dāng)前文件指針的位置
       CF = 1 操作失敗,此時(shí) AX = 錯(cuò)誤代碼
 

  從上面的說(shuō)明可以看出,文件訪問(wèn)操作只需要按要求設(shè)置好參數(shù)然后調(diào)用指定的調(diào)用即可。下面我就給出一個(gè)例子來(lái)說(shuō)明文件操作的使用。

 Code    Segment
     Assume  CS:Code
 Start:
     Mov     AX,CS
     Mov     DS,AX
     Mov     AX,3c00H
     Mov     CX,20H    ;文件屬性為歸檔
     Mov     DX,Offset FileName
     Int     21H       ;建立文件
     Jc      Err1
     Mov     BX,AX
     Mov     AX,3e00H
     Int     21H       ;關(guān)閉文件
     Mov     AX,3d02H
     Mov     DX,Offset FileName
     Int     21H       ;按讀寫(xiě)方式打開(kāi)文件
     Jc      Err2
     Mov     BX,AX
     Mov     AX,4000H
     Mov     CX,14     ;要寫(xiě)的字節(jié)數(shù)
     Mov     DX,Offset Msg
     Int     21H       ;寫(xiě)數(shù)據(jù)到文件
     Jc      Err3
     Mov     AX,3e00H
     Int     21H       ;關(guān)閉文件
 Exit:
     Mov     AX,4c00H
     Int     21H
 Err1:
     Mov     DX,Offset Error1
     Jmp     ShowErr
 Err2:
     Mov     DX,Offset Error2
     Jmp     ShowErr
 Err3:
     Mov     DX,Offset Error3
     Jmp     ShowErr
 ShowErr:
     Mov     AX,900H
     Int     21H
     Jmp     Exit
 Error1    DB    "Create file fail.",13,10,"$"
 Error2    DB    "Open file fail.",13,10,"$"
 Error3    DB    "Write file fail.",13,10,"$"
 FileName  DB    "Data.txt",0
 Msg       DB    "Hello World!",13,10
 Code    Ends
     End     Start
 

  最后要注意的一點(diǎn)是:在對(duì)文件寫(xiě)操作完畢之后記得要關(guān)閉文件才能使用系統(tǒng)將數(shù)據(jù)刷新到磁盤(pán)上,否則寫(xiě)進(jìn)去的東西很可能會(huì)丟失。 日期2003101607:59pm

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多