标题: [解决]用Debug载入大于64K文件后.怎样搜索大于64K的部分
[打印本页]
作者: knoppix7
时间: 2008-6-8 21:35
标题: [解决]用Debug载入大于64K文件后.怎样搜索大于64K的部分
RT.
用Debug XXX.txt加载以后.
附近的东西怎么都差不多..郁闷.
在Google上搜索过.但是没看见这个方面的解答..
怎样才能搜索超过64K的部分??
一定要把文件按FFFF拆分后载完成搜索吗?
谢谢各位了.
[
Last edited by knoppix7 on 2009-5-2 at 00:32 ]
作者: bat-zw
时间: 2008-6-8 22:46
汗,不懂debug,因此对于兄弟的问题是无能为力了,也想学学这个东东,就是一直下不了这个决心,因为在实际中也好像没什么地方要用到debug。。。
作者: GOTOmsdos
时间: 2008-6-8 23:04
debug 有64kb的限制, 如果要突破这个限制,可试一试用 TODISK,它没有这个限制,如下:
http://www.cn-dos.net/forum/viewthread.php?tid=28884
作者: PPdos
时间: 2008-6-9 04:39
dfff,1fff 这里假设为结束位置为1fff 要看你超过了多少,既然你加载到内存就读的出来
作者: knoppix7
时间: 2008-6-18 18:39
搜索的话要怎么弄?
看过前几页的说明.,没有找到相关的东西.
作者: knoppix7
时间: 2008-6-18 18:43
Quote: |
Originally posted by PPdos at 2008-6-9 04:39 AM:
dfff,1fff 这里假设为结束位置为1fff 要看你超过了多少,既然你加载到内存就读的出来 |
|
D的确可以.
另外..S的话该怎么写..
-S 0000 l 1 "DIM "
-S 0000 l 10000 "dim "
^ Error
-S 0000 FFFFF "DIM"
^ Error
那么FFFF以后该怎么搜索?..
作者: GOTOmsdos
时间: 2008-6-18 21:49
Quote: |
Originally posted by knoppix7 at 2008-6-18 06:43 PM:
D的确可以.
另外..S的话该怎么写..
-S 0000 l 1 "DIM "
-S 0000 l 10000 "dim "
^ Error
-S 0000 FFFFF "DIM"
^ Error
那 ... |
|
用debug 是不能处理超过64KB的文件的 !(最多是 FFFF个字节)
用TOdisk就可以
方法如下:
把文件 FILE 从 第100扇区处 开始,显示 12345个扇区 到屏幕 ,满屏暂停:
TOdisk -PFS -PAUSE FILE 100 12345
也可直接指定扇区的偏移(即第几个字节):
把文件 FILE 从 第100扇区处的第123个字节开始, 显示 12345个扇区 到屏幕 ,满屏暂停:
TOdisk -PFB -PAUSE FILE 100 123 12345
如不要暂停,去掉 -PAUSE 即可
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
TODISK还可用作文件截取器,方法如下:
把FILE1从内容的起始扇区45 偏移123处复制678个字节到FILE2中
TOdisk -FWF FILE1 45 123 FILE2 678
如果压缩:
TOdisk -FWFZ FILE1 45 123 FILE2 678
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
如果你不要显示,只要搜索,可以用 FIND 、FINDSTR 和 第三方程序,如 STRING 等
[
Last edited by GOTOmsdos on 2008-6-18 at 10:10 PM ]
作者: knoppix7
时间: 2008-6-18 22:29
谢谢了.
主贴忘说了.
我需要读取制定关键字[如:"DIM "]后N个字节的内容.
如果搜索不到制定关键字的地址的话还是不行.
作者: knoppix7
时间: 2008-6-18 22:30
如果不行就研究一下Find+For的定位法.
作者: GOTOmsdos
时间: 2008-6-18 23:32
Quote: |
Originally posted by knoppix7 at 2008-6-18 10:29 PM:
我需要读取制定关键字[如:"DIM "]后N个字节的内容.
|
|
find、findstr、strings、get 好像都不能直接做到。
而且 他们也仅仅能够找到字符串坐在的行数,不能得到精确的位置。
要写程序才行,否则只能借助程序手工解决
如果我有时间可以给你写一个
作者: netbenton
时间: 2009-4-23 11:46
debug 是可以处理大于64K的数据的,
可以用段前缀来协助就可以了。
如当前段为:ds=0afa
d 0 命令看到的是当前段数据
要看下一个64K的数据这样就可以了:d 1afa:0
支持这样收索:s 1afa:0 lffff "DIM"
作者: s11ss
时间: 2009-4-23 14:42
Quote: |
Originally posted by netbenton at 2009-4-23 11:46 AM:
debug 是可以处理大于64K的数据的,
可以用段前缀来协助就可以了。
如当前段为:ds=0afa
d 0 命令看到的是当前段数据
要看下一个64K的数据这样就 ... |
|
debug最大可以处理多大的文件?
我debug一个900多KB的文件提示什么“Insufficient memory”,最大能处理640KB的文件?
作者: netbenton
时间: 2009-4-23 21:08
这要看常规内存有多大了,通常来说是达不到640K的,
因为那640k内存中还有系统占用(向量表,ascii码表,键盘缓冲等),以及debug.com本身占用。
一般的情况是600k左右吧,没有去测试过。
有一点就是,只要能加载,就能处理。
只要是1M以内的内存debug就能操作,但是它无法把文件数加载到640以上的内。
作者: knoppix7
时间: 2009-4-24 09:40
Quote: |
Originally posted by s11ss at 2009-4-23 02:42 PM:
debug最大可以处理多大的文件?
我debug一个900多KB的文件提示什么“Insufficient memory”,最大能处理640KB的文件? |
|
mem 命令可以看.