debug cmd.exe
代码段:在内存中存放代码的联系内存单元
比如:03ff:0100 到 03ff:0200 这段空间均存放了汇编代码,这个空间就叫段代码
数据段:在内存中存放数据的连续内存单元
比如:e 073f:0000
01 02 03 04 05 06 07 08 09 0A ..
一个字节的数据:一个内存单元的数据
一个字的数据:连续两个内存单元的数据,遵循高地址是高位,低地址是低位。
a、t、r命令比较重要
a CS:IP
034F:0100 mov ax,11
e为编辑,6000位起始地址,偏移地址为0017,放入数据为AB
e 6000:0017 AB
e 6000:0017 AB 13 90 A0 87
改写内存
5F00:1030 01.0A 02.0B 03.0C 04.0D 05. 06.FF
查看汇编命令执行界面
显示寄存器内容的标志位状态,可修改(改变IP的指向,偏移量)
r
比如
r ip
IP 0109
:0100
进入段地址
a 6000:0100
查看存储
段地址:偏移地址
d 6000:0000
汇编翻译(反汇编)
u 6000:0000 0012
6000:0000 0000 ADD [BX+SI],AL
6000:0006 1300 ADC AX,[BX+SI]
ASSIC(单冒号扩起来会对应16进制符号,不扩为16进制)
e 6000:0010 'A' 'B' 'c' 'D' '>' '=' 3A 3B
字符串
e 6000:0020 "abcdef"
执行汇编命令
t 从当前CS:IP寄存器指向的地址开始执行汇编指令(r 查看汇编信息)
格式:
t
结束程序
p
CLI 中断标志(IF)置零