**:
說明這是乙個讀寫磁碟檔案的例子,其中「infile」為讀檔案,「wfile」為寫檔案。
函式圖:
infile(檔案的讀取)
;資料段
data segment
file db 'c:\1.txt' , 0 ;檔名,dosbox 設定的c盤下的路徑
buf db 256 dup(0) ;檔案內容暫存區
error_message db 0ah , 'error !' , '$' ;出錯時的提示
handle dw ? ;儲存檔案號
data ends
;**段
code segment
assume cs:code , ds:data
start:
mov ax , data
mov ds , ax ;獲取段位址
mov dx , offset file ;dx獲取file的偏移位址
mov al , 0
mov ah , 3dh
int 21h ;開啟檔案,唯讀
jc error ;若開啟出錯,轉error
mov handle , ax ;儲存檔案控制代碼
mov bx , ax ;檔案控制代碼
mov cx , 255 ;讀取255位元組
mov dx , offset buf ;獲取buf的偏移位址
mov ah , 3fh
int 21h ;從檔案中讀255位元組→buf
jc error ;若讀出錯,轉error
mov bx , ax ;實際讀到的字元數送入bx
mov buf[bx] , '$' ;在檔案結束處放置一「$」符
mov dx , offset buf
mov ah , 9
int 21h ;顯示檔案內容
mov bx , handle ;檔案控制代碼
mov ah , 3eh
int 21h ;關閉檔案
jnc end1 ;若關閉過程無錯,轉到end1處返回dos
error:
mov dx , offset error_message ;獲取error_message的偏移位址
mov ah , 9
int 21h ;顯示error_message
end1:
mov ah , 4ch ;待返回碼的結束
int 21h
code ends
end start
outfile(檔案的寫入)
;資料段
data segment
file db 'c:\1.txt' , 0 ;建立檔案的檔名
buf db 'this is a test !' ;寫到檔案中去的內容
error_message db 0ah , 'error !' , '$' ;出錯時的提示
message db 0ah , 'ok !$' ;操作成功後的提示
handle dw ? ;儲存檔案號
data ends
;**段
code segment
assume cs:code , ds:data
start:
mov ax , data
mov ds , ax
mov dx , offset file
mov cx , 0
mov ah , 3ch
int 21h ;建立檔案,若磁碟上原有此檔案,則覆蓋
jc error ;建立出錯,轉error處
mov handle , ax ;儲存檔案號
mov bx , ax
mov cx , 16
mov dx , offset buf
mov ah , 40h
int 21h ;向檔案中寫入16個位元組內容
jc error ;寫出錯,轉error處
mov bx , handle
mov ah , 3eh
int 21h ;關閉檔案
jc error ;關閉檔案出錯,轉error處
mov dx , offset message
mov ah , 9
int 21h ;操作成功後顯示提示
jmp end1
error:
mov dx , offset error_message
mov ah , 9
int 21h ;顯示錯誤提示`
end1:
mov ah , 4ch
int 21h
code ends
end start
引數傳遞
無需引數傳遞
改寫為函式庫
無子函式
C 反彙編讀書筆記
1.建構函式可以過載,虛函式不能 new delete是運算子,能過載能呼叫建構函式和析構函式,malloc free不能 this指標本質就是物件的位址,物件的位址就是一堆成員變數所在空間的起始位址 new new delete delete 分配和析構的方式都不同,本質上講帶的都要呼叫 建構函式...
彙編 記憶體讀寫操作
記憶體單元 佔8bit大小 儲存方式 高單元儲存高位位元組,低單元儲存低位位元組 如下圖 0單元儲存的資料0x20,1單元儲存的資料0x4e,0 1單元共同組成乙個字單元 0位址字單元 儲存的資料為0x4e20 記憶體的位址需要用上資料的段位址ds和 偏移位址 來讀取指定位址的記憶體資料 寫資料 1...
c 檔案讀寫 文字讀寫
include int main else return 0 格式 intfscanf file stream,constchar format,返回值 如果成功,該函式返回成功匹配和賦值的個數。如果到達檔案末尾或發生讀錯誤,則返回 eof 引數1 file stream 檔案指標 引數2 cons...