码迷,mamicode.com
首页 > 编程语言 > 详细

【汇编语言】(王爽著第三版)实验二

时间:2018-11-02 01:53:43      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:执行   自己   王爽   family   结果   写入   功能   span   语言   

实验二

实验任务(一)

实验前要求我们将书本P74的程序段按理论分析,将结果进行填空。之后用Debug,将该程序段写入内存,逐条执行之后,

根据指令执行后的实际运行的结果填空如下。

 

mov ax,0021

 

mov  ax , ffff

   mov  ds , ax

   mov  ax , 2200

   mov  ss , ax

   mov  sp , 0100

   mov  ax , [0]                       ;ax=3130

   add  ax , [2]                        ;ax=6462

   mov  bx , [4]                       ;bx=3534

   add  bx , [6]                        ;bx=6C6A

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

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

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

   pop  bx                               ;sp=0100H  ;bx=6462

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

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

在使用a指令调试前,先使用e命令将内存单元0021:0~0021:7连续8个字节数据修改为30H,31H,32H,33H,34H,35H,36H,37H,最后用D命令查看是否正确。

技术分享图片

接着我们再使用a指令去调试每一步的指令

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

实验任务(二)

 使用 a命令输入 7 行指令,使用 e 命令修改 2000:0~2000:f 的值,及修改后查看的部分

技术分享图片

 

单步执行调试,并且每步调试后都用d命令查看2000:0~2000:f的值:

 技术分享图片

技术分享图片

技术分享图片

从中我们发现前三行的指令的功能为:把0~2000:f这段空间当做栈段,初始化栈顶

mov sp,0010H   :设置栈顶的偏移地址,栈为空,sp=0010H

栈顶为2000:0010,栈底为2000:000E

小结

在完成实验的过程中,由于操作不熟练经常出现失误,例如多敲回车。。(输完一行总是情不自禁敲一个回车)每周如果只花课堂上一节课的时间去学习汇编,好像是真的不可能学好的。课外还需要自己学习。这一章实验依旧花了很久时间,自己思考的也不够,继续努力吧。

 

【汇编语言】(王爽著第三版)实验二

标签:执行   自己   王爽   family   结果   写入   功能   span   语言   

原文地址:https://www.cnblogs.com/Bellabear/p/9893361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!