实验二
1.使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行之后的实际运行情况填空。
(1)使用e命令修改0021:0~0021:f的数据
(2)使用a命令输入p74的指令,其中的 mov ax, ffff → 改为 mov ax, 0021
运行结果如下
2.仔细观察图中实验,然后分析:为什么2000:0~2000:f中的内容会发生改变
前三行汇编指令的功能是用ax设置栈段地址设为SS=2000H,和栈顶的偏移地址SP=0010H
mov sp,10即是初始化栈顶。栈顶2000:0010,栈底2000:000F,此栈为空栈。
总结
本次实验学习了mov,add,sub等指令的使用。mov指令改变寄存器或内存中的内容、add指令加和内存或寄存器中的内容。
以及对t指令的新认识。一般情况下,用t命令执行一条指令后,会停止继续执行,显示出当前CPU各个寄存器的状态和下一步要执行的指令,但t命令执行mov ss,ax的时候,不会做到这一点。所以Debug的t命令在执行修改寄存器ss的指令时,下一条指令也紧接着被执行。
对栈有了初步的认识。对它先进先出的特征有了一定的了解。