大会MASM:写入文件

问题描述:

我有这样的代码大会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?谢谢!

您并未将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