实验二 用机器指令和汇编指令编程

一、实验准备

  为了便于验证实验结果,在实验任务中做了一定调整:

  (1、在使用在使用 a 命令输入指令调试前,使用 e 命令将内存单元 0021:0 ~0021:7 连续 8 个字节数据修改为 30H, 31H, 32H, 33H,34H,35H,36H,37H。  

  

 

使用d命令查看运行结果:

二、使用Debug将程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空

  (1、将实验任务(1)中第 1 行的 mov ax, ffff → 改为 mov ax, 0021。

 

   (2、使用r命令查看寄存器初始值

 

  (3、用t命令逐条运行程序并填空

书上填空如下:

 

三、仔细观察图3.19中的实验过程,然后分析:为什么2000:0~2000:f中的内容会发生改变。

  (1、按照书中代码段输入

  (2、使用r命令查看寄存器初始值

  (3、使用t命令逐条运行

前三条代码段的作用是设置栈段地址设为SS=2000H和栈顶的偏移地址SP=0010H。当对栈进行操作时,ss和sp随着入栈出栈的操作变化,会改变这一段内存单元的值。

四、总结

通过此次实验初步了解了栈内存的一些特点和使用理解 8086 汇编指令mov, add, sub, push, pop 的用法,切实体会到栈内存空间的复杂性,有关于栈方面的知识还需努力学习。

posted @ 2018-10-27 09:38  热膨胀  阅读(394)  评论(2编辑  收藏  举报