实验1 用机器指令和汇编指令编程
一、实验目的
1. 熟练掌握使用debug工具编写和调试x86汇编命令的方法
2. 掌握8086CPU、寄存器、内存的基础知识
3. 理解并掌握内存中多字节数据的存放:小端法
4. 理解并掌握「栈」内存空间的特性和使用
5. 掌握指令mov, add, sub, jmp, push, pop的基础用法
二、实验内容
1. 教材实验1(P35)
练习教材P35-45「预备知识:Debug的使用」,学习debug启动、退出及常用指令用法;
在练习基础上,完成「2. 实验任务」
2. 教材实验2(P71)
练习「1.预备知识:Debug 的使用」
在练习基础上,完成「2. 实验任务」
三、实验结论
实验任务(1)
写入前四行的机器码:

实验任务(2)

第一次执行::

执行多步后:

实验任务(3)
显示区间

尝试修改

修改无效
实验任务(4)

教材实验2结论
实验任务(1)
使用 e 命令修改 内存单元0022:0~0022:f 中的数据

使用 a 命令输入的 p74 指令

截图记录单步执行状态:




实验任务(2)
用e命令写入数据,并用a命令写入程序

单步执行指令

对于mov ax,2000,ax寄存器的值变为2000,2000:0 - 2000:F的区域没有发生变化。
单步执行指令

对于mov ss,ax,ss寄存器的值修改为ax中的值,ss变为2000H,sp变为0010H
后面几个内存内容改变为 00 20 00 00 08 01 3f 07 a3 01
由大端法的存储特点,其中内容分别为:2000H 0000H 0108H 073FH
前三条命令执行过后,初始时的栈顶和栈底为:2000:0010

浙公网安备 33010602011771号