这是网上最经常看到的一个debug的dos下使用实例。
读取cmos数据 进入debug
-a 100
****:*100 mov bx,1000
****:**** mov cx,0040
****:**** mov ax,0000
****:0109 mov dx,cx
****:**** mov cx,0005
****:010e loop 010e
****:**** out 70,al
****:**** mov cx,0005
****:0115 loop 0115
****:**** in al,71
****:**** mov 【bx】,al
****:**** cmp ah,0e
****:**** jb 0123
****:**** add ah,80
****:0123 inc ah
****:**** inc bx
****:**** mov cx,dx
****:**** mov al,ah
****:**** loop 0109
****:**** mov ah,3c
****:**** mov dx,0150
****:**** mov cx,0020
****:**** int 21
****:**** mov bx,ax
****:**** mov dx,1000
****:**** mov cx,0040
****:**** mov ah,40
****:**** int 21
****:**** mov ah,4c
****:**** int 21
-a 150
****:0150 db "cmos.dat",0
****:0159
-r cx
cx 0000
:60
-n save cmos.com
-w
-q
-w 100 2 0 1
-q
我试着将这段指令汇编到内存里,可是输入到红色这段的时候发现,需要按一次回车才能进行下一个 - 提示符,
在将红色部分的指令输入,再来就是到了绿色部分,我-q退出后,在运行下面的两行命令,再关电重新打开。
问题是这样操作完,后重新上电启动的系统是已经坏了的
------解决思路----------------------
A 命令里需要直接输入个回车以退出 A 命令返回到 debug 的命令状态的,****:0159 这里不是有个空的吗,就是直接按回车的意思了。
q 命令不是已经退出了 debug 了吗,怎么又能运行下面的两个 debug 命令了呢?
不管是怎么运行的下面那两 debug 命令,如果确实是运行了的话,-w 100 2 0 1 命令是把 0100 处的内容写入到了 C: 盘的引导扇区了吧,这不是覆盖了 C: 盘的引导扇区的内容了吗,这个,当然是破坏了引导功能了,自如无法再引导成功,只要修复下引导应该就可以了。