大会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
。无论指向哪个数据的大小,偏移量的大小都是相同的。
我这样做,mov dl,offset writeme;要写信息的地址 mov bx,句柄;文件处理文件 mov cx,38; 38个字节写入 mov ah,40h;函数40h - 写入文件 int 21h;调用dos服务,但它仍然不会工作 – jamescruz 2014-12-05 15:03:47
你应该使用'dx',而不是'dl'。就像我说的,无论指向哪个数据的大小,偏移的大小都是一样的。 – Michael 2014-12-05 15:10:43
我得到一个有关无效指令操作数的错误.. – jamescruz 2014-12-05 15:18:11