实验二

Posted fengmian

tags:

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

汇编第三章总结(我认为重要的)

1. 2个内存单元=1个字

   4E20H的地位字节存放在0号单元中,高位字节存放在1号单元中

2. 将起始地址为N的字单元简称为N地址字单元

3. Mov 寄存器名,内存单元地址

4.段地址默认放在DS中,注意:不支持将数据直接放入段寄存器的操作,DS存放数据段的段地址

5.栈:一种具有特殊的访问方式的存储空间,最后进入这个空间的数据,最先出去

6.栈的2个基本操作:入栈和出栈

   入栈:将一个新元素放到栈顶

   出栈:从栈顶取出一个元素 LIFO

7.Push ax 将寄存器ax中的数据送入栈中

   Pop ax 从栈顶取出数据送入ax

   注意:入栈和出栈的操作都是以字为单位

8.任意时刻 SS:SP指向栈顶元素

9.pop操作前的栈顶元素仍然存在,但是他已经不在栈中了

10.debug的T命令在执行修改寄存器SS的指令时,下一条指令也紧接着被执行

实验内容

(1)程序填空

 技术分享图片

 

第一步:用e命令修改内存单元的值并且用d命令进行查看是否成功

第二步:用a命令写入指令

             (1)利用ax寄存器进行中转对段寄存器进行赋值

              (2)一系列操作

第三步:用t命令进行一步一步的执行

技术分享图片

 

技术分享图片

 

 技术分享图片

 

 技术分享图片

实验的数据为

mov ax,0021

mov ds,ax

mov ax,2000

mov ss,ax

mov sp,0100

mov ax,[0]        ;ax=3130H

add  ax,[2]        ;ax=6462H

mov bx,[4]        ;bx=3534H

add  bx,[6]        ;bx=6C6AH

push ax            ;sp=00FEH; 修改内存单元地址是2200:FE,内容为6462H

push bx            ;sp=00FCH; 修改内存单元地址是2200:FC,内容为6C6AH

pop  ax             ;sp=00FEH;ax=6C6AH

pop  bx             ;sp=0100H;bx=6462H

push [4]            ;sp=00FEH; 修改内存单元地址是2200:FE,内容为3534H

push [6]            ;sp=00FCH; 修改内存单元地址是2200:FC,内容为3736H

(2)思考

技术分享图片

 技术分享图片

我不会,我是个没有悟性的无知少年......

实验总结

通过实验一更能明白修改栈段寄存器指令时,下一条指令也被执行

这次实验让我看清了自己,鞠躬,谢谢大家

 

以上是关于实验二的主要内容,如果未能解决你的问题,请参考以下文章

通信原理实验二 角度调制实验

20165223 实验二 面向对象程序设计

计算机系统 实验二 数据表示实验

实验二 组合逻辑电路设计;实验三 时序逻辑电路设计

区块链技术与应用实验报告(实验二)

实验二 20155335 实验报告 固件程序设计