汇编高手请进!(200分)

  • 主题发起人 主题发起人 alexis
  • 开始时间 开始时间
A

alexis

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎样在DOS中用DEBUG读取硬盘的某一指定扇区的记录(或者说是从指定柱面开始读
取指定字节数的数据)?
 
-d help
老掉牙的东西,已经忘本了,应该是l吧
 
-l [保存地址] 盘号 开始扇区 数量
盘号 0:A 1:B
 
l 100 0 0 1读一号盘零磁道一扇区到100地址
 
不对吗,还是不行!
 
同志们,这个是将数据读入内存,我当然会。
我的意思是将硬盘指定位置指定字节的数据读出并存入软盘中!
 
1938:0100 B80102 MOV AX,0201
1938:0103 BB0010 MOV BX,1000
1938:0106 B90100 MOV CX,0001
1938:0109 BA8000 MOV DX,0080
1938:010C CD13 INT 13
1938:010E BA2801 MOV DX,0128
1938:0111 B8003C MOV AX,3C00
1938:0114 CD21 INT 21
1938:0116 89C3 MOV BX,AX
1938:0118 BA0010 MOV DX,1000
1938:011B B90002 MOV CX,0200
1938:011E B440 MOV AH,40
1938:0120 CD21 INT 21
1938:0122 B43E MOV AH,3E
1938:0124 CD21 INT 21
1938:0126 CD20 INT 20
1938:0128 63 DB 63
1938:0129 3A5C61 CMP BL,[SI+61]
1938:012C 61 DB 61
1938:012D 61 DB 61
1938:012E 2E CS:
1938:012F 64 DB 64
1938:0130 61 DB 61
1938:0131 7400 JZ 0133
后面乱码的是文件名 c:/aaa.dat, 你自己改一下扇区号和柱面号就可以了,
我没有做错误处理
 
说明白了!你又没有说存!
直接写,还是写文件!
 
debug <return>
d> a 500
500>mov ax,0201 //读一个扇区
500>mov bx,0200 //读取的内容存放到200处
500>mov cx,0001 //扇区号
500>mov dx,0080 //第一个硬盘
500>int 13
500>int 3
500> <runturn>
d> g=500
d> n a:/test.txt
d> w 200
d> q
 
多人接受答案了。
 
后退
顶部