为了把被调试过的数据写到磁盘上,就要使用W命令。W 命令一次能写入最大扇区数为80H,它也有两种基本格式。
1.把数据写到指定的区段
其命令格式为:
W[〈内存地址〉]〈驱动器号〉〈扇区号〉〈扇区数〉
其中的参数与L命令中对指定扇区的读操作所用参数的意义相同;W 命令使用这些参数的目的是对指定扇区进行写操作,即把指定内存区域中的数据,写到指定的驱动器中,以〈扇区号〉为起始相对扇区号共写入〈扇区数〉规定的区段数。
注意:
(1)当把数据写到磁盘指定区域时要格外小心,因若有差错,就会破坏盘上原有的内容。
(2)如果内存地址只有一个偏移值,则W命令认为段地址在CS中。
(3)记住起始扇区号和扇区数都是用16进制数表示的,例如:
此命令把内存起始地址为CS:01FD的缓冲区中的数据,写入到驱动器B,起始扇区号为相对扇区号100H(256),共写入0AH(10)个扇区。
2.写入到指定的文件中
其命令格式为:
W或W〈内存地址〉
前者没有指定〈内存地址〉参数,则内存区域从CS:100开始;后者在命令中给定了内存地址,则从该指定地址开始。因此,上述命令把指定内存区域中的数据,写入到由CS:5C 处的文件控制块所规定的文件中。
如果在启动DEBUG时使用了文件名,则在CS:5C处构成了该文件的文件控制块;否则,在用W命令以前,要先使用一条N命令,以便在CS:5C处构成要写入文件的文件控制块。
此外,还必须将写入数据的字节数置入BX和CX,写入数据的字节数可以通过DEBUG命令或装入命令来设置,也可以由运行或跟踪命令来改变。但必须保证BX和CX中装入的值是正确的,例如:
注意:若用.EXE或.HEX作为文件扩展名将文件写入,则系统将给出错信息。这些文件必须用特定的格式才能写入,DEBUG不支持这种格式。(www.xing528.com)
若用户认为必须修改带有.EXE或.HEX文件扩展名的文件,并且已知道要修改的文件的准确地址,可用下列方法来进行。
(1)不用.EXE或.HEX,而用另外的文件扩展名重新命名文件。
(2)使用DEBUG或装入命令L,把这个文件装入到存贮器中。
(3)根据需要修改存贮器内的文件,但是不能用运行命令或跟踪命令来执行该文件,否则将产生预想不到的结果。
(4)用写命令把这个文件写回盘上。
(5)将文件重新命名为正确的名字。
【例1.14】 将中断向量表写入新建文件INTTAB中。
【例1.15】 将1.44M软盘文件分配表、根目录项表均清0。
A〉DEBUG
-F100 L1C00 0 ; 将14个扇区长的内存空间清0
-W100 0 13 9 ; 将目录项表的14个扇区清0
-E100 F0 FF FF ; 写FAT表前三个标志字节
-W100 0 1 9 ; 将第一个FAT表清0
-W100 0 A 9 ; 将第二个FAT表清0
-Q
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。