汇编语言程序设计实验报告二

实验目的:

1.熟练掌握使用debug工具编写和调试汇编命令的方法;

2.理解并掌握内存中多字节数据的存放;

3.理解并掌握【栈】内存空间的特性和使用;

4.理解并掌握8086汇编指令 mov,add,sub,push,pop的用法。

实验步骤:

p74(1)

下图为书上实验没修改数据之前所得到的结果,有错误还希望大家指正!!!

 

根据实验二的要求,在使用-a进行调试之前,使用-e命令修改内存单元,如下图所示

注:因为之前修改完之后不小心cls清了一下屏,所以0021:0~0021:7的默认值就不为0

 接下来就按照树上的语句利用-a进行调试

接下来利用-t反汇编命令查看修改结果

直接展示最后修改后的结果

p74(2)

第一次反汇编后

第二次反汇编后

回答: mov sp,10应该是在mov ss,ax之后执行,也就是说在执行完mov ss,ax这条命令之后,mov sp,10也紧接着被执行了。一般来说在使用-t进行反汇编时,会执行完一条命令后自动停止执行下一条命令,但是-t mov ss,ax并没有做到这一点。

 实验总结:

1.栈的概念:SS:SP(SS:段寄存器 SP:寄存器)任意时刻,SS:SP指向栈顶元素;

2.关于栈的数据存放:数据存入时以小端法存入,通过修改sp指令来修改数据存放的位置;

3.push和pop操作:push是将数据存入栈 pop是将栈中的数据弹出。

 

posted @ 2018-11-17 17:29  Frank111111  阅读(444)  评论(2编辑  收藏  举报