2014-12-05 83 views
0

我有這樣的代碼大會MASM:寫入文件

mov dx,offset writeme ; address of information to write 
mov bx,handle   ; file handle for file 
mov cx,38    ; 38 bytes to be written 
mov ah,40h    ; function 40h - write to file 
int 21h     ; call dos service 

寫入一個文件。在這裏,writeme是一個變量,其大小爲dw這就是爲什麼它與移動到dx .. 兼容的原因我的問題是,我有一個變量,其大小爲db,如何使用代碼以便我可以移動該代碼db變量爲dx?謝謝!

回答

0

您並未將writeme的值移至dx。您正在將其地址(或其偏移量,準確而言)轉換爲dx。無論指向哪個數據的大小,偏移量的大小都是相同的。

+0

我這樣做,mov dl,offset writeme;要寫信息的地址 mov bx,句柄;文件處理文件 mov cx,38; 38個字節寫入 mov ah,40h;函數40h - 寫入文件 int 21h;調用dos服務,但它仍然不會工作 – jamescruz 2014-12-05 15:03:47

+0

你應該使用'dx',而不是'dl'。就像我說的,無論指向哪個數據的大小,偏移的大小都是一樣的。 – Michael 2014-12-05 15:10:43

+0

我得到一個有關無效指令操作數的錯誤.. – jamescruz 2014-12-05 15:18:11