在win10中使用debug模式的方法:
1. 下载dosbox以及debug.exe
2. 输入 mount:c _debug_file_dir_ eg. d:asm
3. 定位到虚拟c盘
4. -debug
DEBUG模式命令
D命令
查看内存中的内容
-d 1000:0
E命令
1. 改写内存中的内容
-e 1000:0 1 'a' 2 'b'
2. 向内存中输入机器码
-e b80100 b90200 01c8
R命令
改变CPU寄存器的内容
-r ax
U命令
查看机器码输入的对应汇编操作
-u 1000:0
T命令
执行一条写入的汇编指令(需要先让CS:IP指向刚才输入的汇编指令的地址)
-t
A命令
向内存中输入汇编指令(替代e命令的机器码,仍然需要让CS:IP指向刚才输入的汇编指令的地址,之后用T命令分条执行)
-a 1000:0
mov ax,1
寄存器分类
1. 通用寄存器
AX
累加寄存器,通常用于运算
2. 段寄存器
CS
代码段寄存器
DS
存放要访问的数据的段地址
3. 指令指针寄存器
IP
指向当前需要取出的指令字节,在取出1字节内存后自动加1,指向下一个指令字节
8086CPU中,读取指令地址为,CS*16+IP(CS:IP)
4. 标志寄存器
Remark
mov ax, 1000H
存放1000H数值到ax寄存器中
mov bx,1000H
mov ds,bx
mov ax,[0]
存放内存号为1000:0地址的内容到ax寄存器中