debug commands

在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寄存器中