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

Posted ljzww

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编实验二 用机器指令和汇编指令编程相关的知识,希望对你有一定的参考价值。

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

任务一:

1)用E命令将内存单元00210~00217连续8个字节数据修改为30H31H32H33H34H35H36H37H

技术分享图片

2)用A命令输入汇编指令:

技术分享图片

3)用T命令单步执行:

技术分享图片

在用T命令执行MOV SSAX时,它的下一条指令MOV  SP0100同时执行。

技术分享图片

 

技术分享图片

技术分享图片

4)填写书上内容: 

技术分享图片

 

任务二:

观察如图实验过程,分析为什么20000~2000f中的内容会发生改变。

技术分享图片

技术分享图片

 

任意时刻,SS:SP指向栈顶元素,初始时栈为空。初始时,栈顶为0B39FFEE,前三行命令为栈空间的初始化,T命令执行MOV SSAX修改SS的值,MOV SP10为修改SP的值,修改后安排2000:0000~2000:000F为栈空间,初始化栈顶,然后在栈中压入两个数据。执行之后栈顶为20000010,栈底为20000000

 

实验总结

 

 本次实验我了解了使用debug 工具编写和调试汇编命令的方法,对内存中多字节数据的存放有了初步了解。也知道了栈空间先进后出的特性。本次实验主要讲了SS(栈段寄存器)和SP(栈指针寄存器)的值的修改以及内存单元的访问,压栈和出栈的实现方法,同时是实验一的复习使用。

压栈和出栈:

压栈:sp先减2,然后将数据按小端存入存储单元。

出栈:先将sssp当前所指向的地址中的数据赋值给指定的寄存器,然后将sp2

8086 汇编指令 mov, add, sub, push, pop 的用法:

mov   寄存器 ,数据 /寄存器/内存单元      改变寄存器或内存中的内容(其他形式MOV 内存单元,寄存器/数据(段寄存器,寄存器))

add    寄存器,数据/寄存器/内存单元或add  内存单元,寄存器      把内存或寄存器中的内容相加

sub    寄存器,数据/寄存器/内存单元或sub  内存单元,寄存器     将内存或寄存器中的内容相减

pushpop分别对应出栈和入栈的功能,形式如下:

push 寄存器/段寄存器/内存单元     将寄存器/段寄存器/内存单元中的数据入栈

pop  寄存器/段寄存器/内存单元     出栈,用寄存器/段寄存器/内存单元接收出栈数据

以上是关于汇编实验二 用机器指令和汇编指令编程的主要内容,如果未能解决你的问题,请参考以下文章

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

汇编语言实验2 用机器指令和汇编指令编程

汇编语言实验1 查看CPU和内存,用机器指令和汇编指令编程

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

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

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