当前位置:文档之家› DEBUG命令

DEBUG命令

寄存器-存储器 寄存器
存储器-寄存器 存储器
立即数-存储器 存储器
立即数-累加器 累加器
dec指令(减1)(算术指令)
存储器减量
寄存器减量
nec指令(求反,以0减之)
寄存器求补
存储器求补
cmp指令(比较)(算术指令)
寄存器与寄存器比较
寄存器与存储器比较
寄存器与立即数比较
存储器与立即数比较
累加器与立即数比较
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窗口坐标
test指令(测试)(逻辑运算)
寄存器test寄存器
寄存器test存储器
寄存器test立即数
存储器test立即数
累加器test立即数
movs指令(串传送)(字符串操作指令)
单个传送
重复传送
cmps指令(串比较)(字符串操作指令)
单个比较
重复比较
scas指令(串扫描)(字符串操作指令)
单个搜索
重复搜索
段寄存器传送给寄存器
段寄存器传送给存储存器
pop指令(把字弹出堆栈)(数据传送命令)
push指令(把字压入堆栈)
存储器
寄存器
段寄器
xchg指令(交换字或字节)(数据传送命令)
寄存器与寄存器交换
存储器与寄存器交换
寄存器与累加器交换
in指令(端口输入)(数据传送命令)
直接输入
间接输入
out指令(端口输出)(数据传送指令)
lods指令(装入串)
(字符串操作指令)
单个装载
重复装载
stos指令(保存串)(字符串操作指令)
单个存储
重复存储
mov指令(传送字或字节)(数据传送命令)
寄存器与寄存器间传送
存储器与寄存器间传送
立即数传送给存储器
立即数传送给寄存器
存储器传送给累加器
累加器传送存储器
寄存器传送给段寄存器
存储器传送给段寄存器
DEBUG命令详解
Debug原意是杀虫子。这里是机器调试工具。
其实,Debug的由来,还有一则趣闻,在早期美国的一计算机房中,科学家正在紧张的工作。同时,许多台大型的计算机也在不停的运行着。大概是由于,机器过热,引来许的小虫子,以至于,计算机无法正常运行。科学们,只好停下来,捉虫子...虫子捉完了,计算机运行也正常了,后来,这个名词就沿用至今了....
所谓中断,其实,就是,当你做某事时,有人过来找你有其他事,你先放下手中的事(计算机中,称为保护现场)
,再去与叫你的那个人办事去,等完了,你又回,接着做刚才的事。这是个很通俗的讲法。
计算机在运行时,也会出现这种情况,我们叫之中断。
下面是他的一些常用中断向量的入口值详解:(记住哦,很用的...呵呵)
IBM PC中断int10
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
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绝对磁盘写
1 2 3 4 5 6 7 8
BL R G B I R G B
闪烁 字符底色 加亮 字符颜色
中断向量号表
中断号解释中断号解释
0除数为0错19引导装入程序
1音步中断1A日时调用
2不可屏蔽中断NMI 1B键盘阻断时得到控制权
3断电中断(CCH)1C时钟中断时得到控制权
4溢出中断1D指向CRT初始参数表
5屏幕打印中断1E指向盒带参数表
(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
w
q
6.关闭显示器(恢复时,按任意键)
A
mov ax,1201
mov bl,36
直接输出
间接输出
add指令(加法)(算术指令)
adc指令(带进位加法)
寄存器+寄存器 寄存器
寄存器+存储器 寄存器
存储器+寄存器 存储器
立即数+存储器 存储器
立即数+累加器 累加器
inc指令(加1)(算术指令)
存储器增量
寄存器增量
sub指令(减法)(算术指令)
sbb指令(带借位减法)
寄存器-寄存器 寄存器
注:AL=0卷动整个窗口
07H窗口下卷
入口:AH=7,AL=窗口下卷行数,CH:CL-DH:DL窗口坐标
08H读当前光标处字符和属性
入口:AH=BH=页号。
返回:AH:AL=字符的颜色:字符的ASCII码
注:颜色代码见下对照表
09H:在当前光标处写字符和属性
注:光标不下移
入口:AH=9,BH=页号,BL:AL=字符的颜色:字符的ASCII码,CX=重复次数
and指令(与运算)(逻辑运算)
寄存器and寄存器 寄存器
寄存器and存储器 寄存器
存储器and寄存器 存储器
立即数and存储器 存储器
立即数and累加器 累加器
or指令(或运算)(逻辑运算)
寄存器or寄存器 寄存器
寄存器or存储器 寄存器
存储器or寄存器 存储器
立即数or存储器 存储器
立即数or累加器 累加器
0CH写图形点
入口:AH=0C,CX:DX=列号:行号,AL=颜色
ODH读图形点
入口:AH=0D,CX:DX=列号:行号
返回:AL=颜色
0EH在当前页、当前光标处写字符
入口:AH=0E,AL=字符的ASCII码,BL=前景色
OFH显示器状态
入口:AH=0F
返回:AL=当前显示器方式,AH=屏幕列数,BH=当前页号
-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

-w
-q
注:以上适合super与dtk机,对于ast机,因为他的口令放在coms的4ch-51h地址处,只要将:mov bx,0038改为:mov
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
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指令(控制指令-短转移)大于转移
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入口
指令名详解
loope/loopz指令(循环控制指令-短转移)cx不为0且标志z=1时循环
loopne/loopnz指令(循环控制指令-短转移)cx不为0且标志z=0时循环
jcxz指令(循环控制指令-短转移)cx为0时转移
★int指令(中断指令)中断指令(后详解)
into指令(中断指令)溢出中断
iret指令(中断指令)中断返回
ooH屏幕方式设置
入口:AH=0,AL=显示方式代码(0--6)
0:40*25黑白
相关主题