实验一 查看CPU和内存、用机器指令和汇编指令编程
首先打开 DOSBox0.74 进行模拟80X86汇编环境
然后敲入 debug 命令进行调试:
1、R 命令
1.1、使用 R 命令查看 CPU 中各个寄存器中的内容
1.2、用 R 命令修改寄存器 AX 中的内容
1.3、用 R 命令修改 CS 和 IP 中的内容
2、D 命令
2.1、用 D 命令查看内存 1000:0 处的内容
这里的 "1000:0" 是 “段地址:偏移地址” 的格式,即查看内存 10000H 处的内容。这里列出的是从指定内存开始的 128 个内存单元中的内容。
2.2、查看 1000:9 处的内容
2.3、列出 Debug 预设的地址处的内容
2.4、列出后续的内容
在使用 “d 段地址:偏移地址” 之后,接着使用 D 命令,可列出后续的内容:
2.5、查看 1000:0 ~ 1000:9 单元中的内容
2.6、用三种不同的段地址和偏移地址查看同一个物理地址中的内容
3、E 命令
3.1、用 E 命令修改从 1000:0 开始的 10 个单元的内容
3.2、用 E 命令修改从 1000:10 开始的 4 个单元的内容
操作步骤:
- 输入 e 1000:10 ,按 Enter 键。
- Debug 显示起始地址 1000:0010,和第一单元(即 1000:0010 单元)的原始内容,然后光标停在 “.” 的后面提示输入想要写入的数据,此时可以有两个选择:其一为输入数据,然后按空格键,即用输入的数据改写当前的内存单元;其二为不输入数据,直接按空格键,则不对当前内存单元进行改写。
- 当前单元处理完成后,Debug 将接着显示下一个内存单元的原始内容,并提示进行修改。
- 所有希望改写的内存单元改写完毕后,按 Enter 键,E 命令操作结束。
3.3、用 E 命令向内存中写入字符
3.4、用 E 命令向内存中写入字符串
3.5、用 E 命令将机器码写入内存
机器码 | 对应的汇编指令 |
---|---|
b80100 | mov ax,0001 |
b90200 | mov cx,0002 |
01c8 | add ax,cx |
4、U 命令
4.1、用 U 命令将内存单元中的内容翻译为汇编指令显示
5、T 命令
5.1、使用 T 命令执行 CS:IP 指向的命令
5.2、用 T 命令继续执行
6、A 命令
6.1、用 A 命令向从 1000:0 开始的内存单元中写入指令
6.2、从一个预设的地址开始输入指令
注:退出 debug 模式的命令是 q 命令