实验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

 

 
posted @ 2020-10-20 16:15  yayao7  阅读(59)  评论(2)    收藏  举报