汇编实验二

Posted baixingyeblog

tags:

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

(1)使用debug,将下面的程序段写入内存,逐条执行

使用e命令修改 0021:0~0021:7数据,将连续8个字节改为30H, 31H, 32H, 33H,34H,35H,36H,37H

技术分享图片

用a命令写入指令

技术分享图片

用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)观察图中实验过程,分析:为什么2000:0~2000:f中内容会发生改变

用a命令输入指令

用e命令修改内存的内容

技术分享图片

用r命令查看内容

并用t命令逐条执行,同时用d命令查看内存中的内容

技术分享图片

技术分享图片

观察发现内存2000:0~2000:f中存放了cs和ip的值,并且位置改变

猜想:有可能是执行操作时修改了内存,至于原因不清楚,可能和栈有关

 

总结:

本次实验更加困难,但加深了对于debug工具的认识,对于指令更加了解。

同时发现自己对于栈没有足够的认识,不能够熟练掌握。但是知道了push和pop指令的用法。

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

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

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

汇编实验二

汇编实验二

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

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