DEBUG命令
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
段寄存器传送给寄存器
段寄存器传送给存储存器
pop指令(把字弹出堆栈)(数据传送命令)
push指令(把字压入堆栈)
存储器
寄存器
段寄器
xchg指令(交换字或字节)(数据传送命令)
寄存器与寄存器交换
存储器与寄存器交换
寄存器与累加器交换
in指令(端口输入)(数据传送命令)
直接输入
间接输入
out指令(端口输出)(数据传送指令)
1 2 3 4 5 6 7 8
BL R G B I R G B
闪烁 字符底色 加亮 字符颜色
中断向量号表
中断号wenku.baidu.com释中断号解释
0除数为0错19引导装入程序
1音步中断1A日时调用
2不可屏蔽中断NMI 1B键盘阻断时得到控制权
3断电中断(CCH)1C时钟中断时得到控制权
4溢出中断1D指向CRT初始参数表
5屏幕打印中断1E指向盒带参数表
g (Go)执行程序g [=address][address...]
h (Hexavithmetic)制算术运算h value value
i (Input)从指定端口地址输入i pataddress
l (Load)读盘l [address [driver seetor>
m (Move)内存块传送m range address
(2) A 100
mov ax,0703
mov cx,0001
mov dx,0080
int 13
int 3
g 100
5.加速键盘
A
mov ax,0305
mov bx,0000
int 16
int 20
rcx
10
n fast.com
w
q
6.关闭显示器(恢复时,按任意键)
A
mov ax,1201
mov bl,36
0CH写图形点
入口:AH=0C,CX:DX=列号:行号,AL=颜色
ODH读图形点
入口:AH=0D,CX:DX=列号:行号
返回:AL=颜色
0EH在当前页、当前光标处写字符
入口:AH=0E,AL=字符的ASCII码,BL=前景色
OFH显示器状态
入口:AH=0F
返回:AL=当前显示器方式,AH=屏幕列数,BH=当前页号
12存储器检查调用27结束程序并驻留(建义用31h)
13软盘机I/O调用28-3FDOS保留
14 RS-233I/O调用40-7F未用
15盒带机I/O调用80-85 BASIC保留
16键盘I/O调用86-F0 BASIC解释程序用
17打印机I/O调用F1-FF未用
18 ROM-BASIC入口
指令名详解
lods指令(装入串)
(字符串操作指令)
单个装载
重复装载
stos指令(保存串)(字符串操作指令)
单个存储
重复存储
mov指令(传送字或字节)(数据传送命令)
寄存器与寄存器间传送
存储器与寄存器间传送
立即数传送给存储器
立即数传送给寄存器
存储器传送给累加器
累加器传送存储器
寄存器传送给段寄存器
存储器传送给段寄存器
and指令(与运算)(逻辑运算)
寄存器and寄存器 寄存器
寄存器and存储器 寄存器
存储器and寄存器 存储器
立即数and存储器 存储器
立即数and累加器 累加器
or指令(或运算)(逻辑运算)
寄存器or寄存器 寄存器
寄存器or存储器 寄存器
存储器or寄存器 存储器
立即数or存储器 存储器
立即数or累加器 累加器
int 10
mov ah,0
int 16
mov ax,1200
int 10
rcx
10
n crt-of.com
w
q
7.硬盘DOS引导记录的修复
在软驱中放入一张己格式化软盘
debug
-l 100 2 0 1
-w 100 0 50 1
把软盘放入故障机软驱中
debug
-l 100 0 50 1
-w 100 2 0 1
test指令(测试)(逻辑运算)
寄存器test寄存器
寄存器test存储器
寄存器test立即数
存储器test立即数
累加器test立即数
movs指令(串传送)(字符串操作指令)
单个传送
重复传送
cmps指令(串比较)(字符串操作指令)
单个比较
重复比较
scas指令(串扫描)(字符串操作指令)
单个搜索
重复搜索
DEBUG命令详解
Debug原意是杀虫子。这里是机器调试工具。
其实,Debug的由来,还有一则趣闻,在早期美国的一计算机房中,科学家正在紧张的工作。同时,许多台大型的计算机也在不停的运行着。大概是由于,机器过热,引来许的小虫子,以至于,计算机无法正常运行。科学们,只好停下来,捉虫子...虫子捉完了,计算机运行也正常了,后来,这个名词就沿用至今了....
u (Unassemble)反汇编u [address ]或range
w (Write)存盘w [address[driver sector secnum>
?联机帮助?
debug小汇编a命令
debug小汇编a命令是一个很有用的功能,许多的小程序都要他来做。
编一些小程序比汇编要来得方便,快洁。
在Debug中,中断是非常有用的,首先,让我们先了解一下中断。
mul指令(无符号乘法)(算术指令)
imul指令(整数乘法)
与8位寄存器相乘
与16位寄存器相乘
与8位存储单元相乘
与16位存储单元相乘
div指令(无符号除法)(算术指令)
idiv指令(整数除法)
被8位寄存器除
被16位寄存器除
被8位存储单元除
被16位存储单元除
Debug实战
1.查看主板的生产日期,版本
D ffff:05
详解:
段内返回
段内返回立即数加于sp
段间返回
段间返回立即数加于sp
na/jnbe指令(控制指令-短转移)不小于或不等于时转移
jae/jnb指令(控制指令-短转移)大于或等于时转移
jb/jnae指令(控制指令-短转移)小于转移
jbe/jna指令(控制指令-短转移)小于或等 于转移
jg/jnle指令(控制指令-短转移)大于转移
ooH屏幕方式设置
入口:AH=0,AL=显示方式代码(0--6)
0:40*25黑白
1:40*25彩色
2:80*25黑白
3:80*25彩色文本
4:320*200彩色
5:320*200黑白
6:640*200黑白图形模式
7:80*25单色字符(单色显示器)
0BH色彩设置
入口:AH=0B,BL=0设背景色,BH=0--15BL=1设调色码,BH=0--1
01H光标设置
入口:AH=1,CH=光标起始行号(00--0C),CL=光标结束行号(00--0C)
注:CH>CL
02H光标定位
入口:AH=2,BH=页号,DH:DL=起始行:列
03H读光标位置
入口:AH=3,BH=页号。
返回:DH:DL=起始行:列
06H窗口上卷
入品:AH=6,AL=窗口上卷行数,CH:CL-DH:DL窗口坐标
寄存器-存储器 寄存器
存储器-寄存器 存储器
立即数-存储器 存储器
立即数-累加器 累加器
dec指令(减1)(算术指令)
存储器减量
寄存器减量
nec指令(求反,以0减之)
寄存器求补
存储器求补
cmp指令(比较)(算术指令)
寄存器与寄存器比较
寄存器与存储器比较
寄存器与立即数比较
存储器与立即数比较
累加器与立即数比较
loope/loopz指令(循环控制指令-短转移)cx不为0且标志z=1时循环
loopne/loopnz指令(循环控制指令-短转移)cx不为0且标志z=0时循环
jcxz指令(循环控制指令-短转移)cx为0时转移
★int指令(中断指令)中断指令(后详解)
into指令(中断指令)溢出中断
iret指令(中断指令)中断返回
D fe00:0e
2.模拟Rest键功能
A
:100 jmp ffff:0000
:105
g
3.快速格式化软盘
L 100 0 0 * '插入一张己格式化软盘
W 100 0 0 * '放入一张欲格式化软盘
注:*分别为:720K e |1.2Mid |1.44M21
4.硬盘格式化两种方法
(1)G=c800:05
直接输出
间接输出
add指令(加法)(算术指令)
adc指令(带进位加法)
寄存器+寄存器 寄存器
寄存器+存储器 寄存器
存储器+寄存器 存储器
立即数+存储器 存储器
立即数+累加器 累加器
inc指令(加1)(算术指令)
存储器增量
寄存器增量
sub指令(减法)(算术指令)
sbb指令(带借位减法)
寄存器-寄存器 寄存器
-q
8.清coms中setup口令
debug
-a
mov bx,0038
mov cx,0000
mov ax,bx
out 70,al
inc cx
cmp cx,0006
jnz 0106
int 20
-rcx
:20
-nclearpassword.com
-w
-q
注:以上适合super与dtk机,对于ast机,因为他的口令放在coms的4ch-51h地址处,只要将:mov bx,0038改为:mov
call指令(过程调用)(控制指令-长转移)
详解:
段内直接调用
段内间接调用(寄存器)
段内间接调用(存储器)
段间直接调用
段间间接调用
指令名
jmp指令(无条件转移指令)(控制指令-长转移)
详解:
段内直接跳转
短段内直接跳转
段内间接跳转(寄存器)
段内间接跳转(存储器)
段间直接跳转
段间间接跳转
指令名
ret指令(过程返回)(控制指令-长转移)
虽然,现在好的软件越来越多了,但是有些,我们只需动手,用Debug就可解决,且快而好!接下来,我们就一起学习Debug在各方面的运用吧!(在杀毒、加解密、系统...)下面我和大家一起学习一些,Debug的用法,虽然,现在好的软件越来越多了,但是有些,我们只需动手,用Debug就可解决,且快而好!
Debug常用命令集
jno指令(控制指令-短转移)不溢出时转移
jnp/jpo指令(控制指令-短转移)奇偶性为奇数时转移
jns指令(控制指令-短转移)符号位为"0"转移
jo指令(控制指令-短转移)溢出转移
jp/jpe指令(控制指令-短转移)奇偶性为偶数时转移
js指令(控制指令-短转移)符号位为"1"时转移
loop指令(循环控制指令-短转移)cx不为0时循环
注:AL=0卷动整个窗口
07H窗口下卷
入口:AH=7,AL=窗口下卷行数,CH:CL-DH:DL窗口坐标
08H读当前光标处字符和属性
入口:AH=8,BH=页号。
返回:AH:AL=字符的颜色:字符的ASCII码
注:颜色代码见下对照表
09H:在当前光标处写字符和属性
注:光标不下移
入口:AH=9,BH=页号,BL:AL=字符的颜色:字符的ASCII码,CX=重复次数
n (Name)置文件名n filespec [filespec...]
o (Output)从指定端口地址输出o portadress byte
q (Quit)结束q
r (Register)显示和修改寄存器r [register name]
s (Search)查找字节串s range list
t (Trace)跟踪执行t [=address] [value]
jge/jnl指令(控制指令-短转移)大于或等于转移
jl/jnge指令(控制指令-短转移)小于转移
jle/jng指令(控制指令-短转移)小于或等 于转移
je/jz指令(控制指令-短转移)等于转移
jne/jnz指令(控制指令-短转移)不等于转移
jc指令(控制指令-短转移)有进位时转移
jnc指令(控制指令-短转移)列进位时转移
所谓中断,其实,就是,当你做某事时,有人过来找你有其他事,你先放下手中的事(计算机中,称为保护现场)
,再去与叫你的那个人办事去,等完了,你又回,接着做刚才的事。这是个很通俗的讲法。
计算机在运行时,也会出现这种情况,我们叫之中断。
下面是他的一些常用中断向量的入口值详解:(记住哦,很用的...呵呵)
IBM PC中断int10
6-7保留1F1KB图形模式
8计时器中断(18.2秒) 20结束DOS程序
9键盘中断21 DOS功能调用
A-D保留22结束地址(建义用EXEC)
E软盘机中断23 DOS Crtl-Break退出地址
F保留24 DOS致命错向量
10屏幕I/O调用25 DOS绝对磁盘读
11设备检查调用26 DOS绝对磁盘写
名称解释格式
a (Assemble)逐行汇编a [address]
c (Compare)比较两内存块c range address
d (Dump)内存16进制显示d [address]或d [range]
e (Enter)修改内存字节e address [list]
f (fin)预置一段内存f range list
指令名
shl指令(逻辑左移)
sal指令(算术左移)
shr指令(逻辑右移)
sar指令(算术右移)寄存器,1
rol指令(循环左移)寄存器,cl
ror指令(循环右移)存储器,1
rcl指令(通过进位的循环左移)存储器,cl
rcr指令(通过进位的循环右移)(逻辑运算)
not指令(取反运算)寄存器求反
(逻辑运算)存储器求反
段寄存器传送给存储存器
pop指令(把字弹出堆栈)(数据传送命令)
push指令(把字压入堆栈)
存储器
寄存器
段寄器
xchg指令(交换字或字节)(数据传送命令)
寄存器与寄存器交换
存储器与寄存器交换
寄存器与累加器交换
in指令(端口输入)(数据传送命令)
直接输入
间接输入
out指令(端口输出)(数据传送指令)
1 2 3 4 5 6 7 8
BL R G B I R G B
闪烁 字符底色 加亮 字符颜色
中断向量号表
中断号wenku.baidu.com释中断号解释
0除数为0错19引导装入程序
1音步中断1A日时调用
2不可屏蔽中断NMI 1B键盘阻断时得到控制权
3断电中断(CCH)1C时钟中断时得到控制权
4溢出中断1D指向CRT初始参数表
5屏幕打印中断1E指向盒带参数表
g (Go)执行程序g [=address][address...]
h (Hexavithmetic)制算术运算h value value
i (Input)从指定端口地址输入i pataddress
l (Load)读盘l [address [driver seetor>
m (Move)内存块传送m range address
(2) A 100
mov ax,0703
mov cx,0001
mov dx,0080
int 13
int 3
g 100
5.加速键盘
A
mov ax,0305
mov bx,0000
int 16
int 20
rcx
10
n fast.com
w
q
6.关闭显示器(恢复时,按任意键)
A
mov ax,1201
mov bl,36
0CH写图形点
入口:AH=0C,CX:DX=列号:行号,AL=颜色
ODH读图形点
入口:AH=0D,CX:DX=列号:行号
返回:AL=颜色
0EH在当前页、当前光标处写字符
入口:AH=0E,AL=字符的ASCII码,BL=前景色
OFH显示器状态
入口:AH=0F
返回:AL=当前显示器方式,AH=屏幕列数,BH=当前页号
12存储器检查调用27结束程序并驻留(建义用31h)
13软盘机I/O调用28-3FDOS保留
14 RS-233I/O调用40-7F未用
15盒带机I/O调用80-85 BASIC保留
16键盘I/O调用86-F0 BASIC解释程序用
17打印机I/O调用F1-FF未用
18 ROM-BASIC入口
指令名详解
lods指令(装入串)
(字符串操作指令)
单个装载
重复装载
stos指令(保存串)(字符串操作指令)
单个存储
重复存储
mov指令(传送字或字节)(数据传送命令)
寄存器与寄存器间传送
存储器与寄存器间传送
立即数传送给存储器
立即数传送给寄存器
存储器传送给累加器
累加器传送存储器
寄存器传送给段寄存器
存储器传送给段寄存器
and指令(与运算)(逻辑运算)
寄存器and寄存器 寄存器
寄存器and存储器 寄存器
存储器and寄存器 存储器
立即数and存储器 存储器
立即数and累加器 累加器
or指令(或运算)(逻辑运算)
寄存器or寄存器 寄存器
寄存器or存储器 寄存器
存储器or寄存器 存储器
立即数or存储器 存储器
立即数or累加器 累加器
int 10
mov ah,0
int 16
mov ax,1200
int 10
rcx
10
n crt-of.com
w
q
7.硬盘DOS引导记录的修复
在软驱中放入一张己格式化软盘
debug
-l 100 2 0 1
-w 100 0 50 1
把软盘放入故障机软驱中
debug
-l 100 0 50 1
-w 100 2 0 1
test指令(测试)(逻辑运算)
寄存器test寄存器
寄存器test存储器
寄存器test立即数
存储器test立即数
累加器test立即数
movs指令(串传送)(字符串操作指令)
单个传送
重复传送
cmps指令(串比较)(字符串操作指令)
单个比较
重复比较
scas指令(串扫描)(字符串操作指令)
单个搜索
重复搜索
DEBUG命令详解
Debug原意是杀虫子。这里是机器调试工具。
其实,Debug的由来,还有一则趣闻,在早期美国的一计算机房中,科学家正在紧张的工作。同时,许多台大型的计算机也在不停的运行着。大概是由于,机器过热,引来许的小虫子,以至于,计算机无法正常运行。科学们,只好停下来,捉虫子...虫子捉完了,计算机运行也正常了,后来,这个名词就沿用至今了....
u (Unassemble)反汇编u [address ]或range
w (Write)存盘w [address[driver sector secnum>
?联机帮助?
debug小汇编a命令
debug小汇编a命令是一个很有用的功能,许多的小程序都要他来做。
编一些小程序比汇编要来得方便,快洁。
在Debug中,中断是非常有用的,首先,让我们先了解一下中断。
mul指令(无符号乘法)(算术指令)
imul指令(整数乘法)
与8位寄存器相乘
与16位寄存器相乘
与8位存储单元相乘
与16位存储单元相乘
div指令(无符号除法)(算术指令)
idiv指令(整数除法)
被8位寄存器除
被16位寄存器除
被8位存储单元除
被16位存储单元除
Debug实战
1.查看主板的生产日期,版本
D ffff:05
详解:
段内返回
段内返回立即数加于sp
段间返回
段间返回立即数加于sp
na/jnbe指令(控制指令-短转移)不小于或不等于时转移
jae/jnb指令(控制指令-短转移)大于或等于时转移
jb/jnae指令(控制指令-短转移)小于转移
jbe/jna指令(控制指令-短转移)小于或等 于转移
jg/jnle指令(控制指令-短转移)大于转移
ooH屏幕方式设置
入口:AH=0,AL=显示方式代码(0--6)
0:40*25黑白
1:40*25彩色
2:80*25黑白
3:80*25彩色文本
4:320*200彩色
5:320*200黑白
6:640*200黑白图形模式
7:80*25单色字符(单色显示器)
0BH色彩设置
入口:AH=0B,BL=0设背景色,BH=0--15BL=1设调色码,BH=0--1
01H光标设置
入口:AH=1,CH=光标起始行号(00--0C),CL=光标结束行号(00--0C)
注:CH>CL
02H光标定位
入口:AH=2,BH=页号,DH:DL=起始行:列
03H读光标位置
入口:AH=3,BH=页号。
返回:DH:DL=起始行:列
06H窗口上卷
入品:AH=6,AL=窗口上卷行数,CH:CL-DH:DL窗口坐标
寄存器-存储器 寄存器
存储器-寄存器 存储器
立即数-存储器 存储器
立即数-累加器 累加器
dec指令(减1)(算术指令)
存储器减量
寄存器减量
nec指令(求反,以0减之)
寄存器求补
存储器求补
cmp指令(比较)(算术指令)
寄存器与寄存器比较
寄存器与存储器比较
寄存器与立即数比较
存储器与立即数比较
累加器与立即数比较
loope/loopz指令(循环控制指令-短转移)cx不为0且标志z=1时循环
loopne/loopnz指令(循环控制指令-短转移)cx不为0且标志z=0时循环
jcxz指令(循环控制指令-短转移)cx为0时转移
★int指令(中断指令)中断指令(后详解)
into指令(中断指令)溢出中断
iret指令(中断指令)中断返回
D fe00:0e
2.模拟Rest键功能
A
:100 jmp ffff:0000
:105
g
3.快速格式化软盘
L 100 0 0 * '插入一张己格式化软盘
W 100 0 0 * '放入一张欲格式化软盘
注:*分别为:720K e |1.2Mid |1.44M21
4.硬盘格式化两种方法
(1)G=c800:05
直接输出
间接输出
add指令(加法)(算术指令)
adc指令(带进位加法)
寄存器+寄存器 寄存器
寄存器+存储器 寄存器
存储器+寄存器 存储器
立即数+存储器 存储器
立即数+累加器 累加器
inc指令(加1)(算术指令)
存储器增量
寄存器增量
sub指令(减法)(算术指令)
sbb指令(带借位减法)
寄存器-寄存器 寄存器
-q
8.清coms中setup口令
debug
-a
mov bx,0038
mov cx,0000
mov ax,bx
out 70,al
inc cx
cmp cx,0006
jnz 0106
int 20
-rcx
:20
-nclearpassword.com
-w
-q
注:以上适合super与dtk机,对于ast机,因为他的口令放在coms的4ch-51h地址处,只要将:mov bx,0038改为:mov
call指令(过程调用)(控制指令-长转移)
详解:
段内直接调用
段内间接调用(寄存器)
段内间接调用(存储器)
段间直接调用
段间间接调用
指令名
jmp指令(无条件转移指令)(控制指令-长转移)
详解:
段内直接跳转
短段内直接跳转
段内间接跳转(寄存器)
段内间接跳转(存储器)
段间直接跳转
段间间接跳转
指令名
ret指令(过程返回)(控制指令-长转移)
虽然,现在好的软件越来越多了,但是有些,我们只需动手,用Debug就可解决,且快而好!接下来,我们就一起学习Debug在各方面的运用吧!(在杀毒、加解密、系统...)下面我和大家一起学习一些,Debug的用法,虽然,现在好的软件越来越多了,但是有些,我们只需动手,用Debug就可解决,且快而好!
Debug常用命令集
jno指令(控制指令-短转移)不溢出时转移
jnp/jpo指令(控制指令-短转移)奇偶性为奇数时转移
jns指令(控制指令-短转移)符号位为"0"转移
jo指令(控制指令-短转移)溢出转移
jp/jpe指令(控制指令-短转移)奇偶性为偶数时转移
js指令(控制指令-短转移)符号位为"1"时转移
loop指令(循环控制指令-短转移)cx不为0时循环
注:AL=0卷动整个窗口
07H窗口下卷
入口:AH=7,AL=窗口下卷行数,CH:CL-DH:DL窗口坐标
08H读当前光标处字符和属性
入口:AH=8,BH=页号。
返回:AH:AL=字符的颜色:字符的ASCII码
注:颜色代码见下对照表
09H:在当前光标处写字符和属性
注:光标不下移
入口:AH=9,BH=页号,BL:AL=字符的颜色:字符的ASCII码,CX=重复次数
n (Name)置文件名n filespec [filespec...]
o (Output)从指定端口地址输出o portadress byte
q (Quit)结束q
r (Register)显示和修改寄存器r [register name]
s (Search)查找字节串s range list
t (Trace)跟踪执行t [=address] [value]
jge/jnl指令(控制指令-短转移)大于或等于转移
jl/jnge指令(控制指令-短转移)小于转移
jle/jng指令(控制指令-短转移)小于或等 于转移
je/jz指令(控制指令-短转移)等于转移
jne/jnz指令(控制指令-短转移)不等于转移
jc指令(控制指令-短转移)有进位时转移
jnc指令(控制指令-短转移)列进位时转移
所谓中断,其实,就是,当你做某事时,有人过来找你有其他事,你先放下手中的事(计算机中,称为保护现场)
,再去与叫你的那个人办事去,等完了,你又回,接着做刚才的事。这是个很通俗的讲法。
计算机在运行时,也会出现这种情况,我们叫之中断。
下面是他的一些常用中断向量的入口值详解:(记住哦,很用的...呵呵)
IBM PC中断int10
6-7保留1F1KB图形模式
8计时器中断(18.2秒) 20结束DOS程序
9键盘中断21 DOS功能调用
A-D保留22结束地址(建义用EXEC)
E软盘机中断23 DOS Crtl-Break退出地址
F保留24 DOS致命错向量
10屏幕I/O调用25 DOS绝对磁盘读
11设备检查调用26 DOS绝对磁盘写
名称解释格式
a (Assemble)逐行汇编a [address]
c (Compare)比较两内存块c range address
d (Dump)内存16进制显示d [address]或d [range]
e (Enter)修改内存字节e address [list]
f (fin)预置一段内存f range list
指令名
shl指令(逻辑左移)
sal指令(算术左移)
shr指令(逻辑右移)
sar指令(算术右移)寄存器,1
rol指令(循环左移)寄存器,cl
ror指令(循环右移)存储器,1
rcl指令(通过进位的循环左移)存储器,cl
rcr指令(通过进位的循环右移)(逻辑运算)
not指令(取反运算)寄存器求反
(逻辑运算)存储器求反