实验一:用汇编指令编码和调试

2021/10/23 22:11:27

本文主要是介绍实验一:用汇编指令编码和调试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

四、实验结论

1. 实验任务1 自行练习,掌握工具用法。此部分无需写实验结论。 如练习中遇到、发现问题,使用搜索引擎,以及,和同学讨论后,都暂时未能得到解决或释疑,可以写 入这一部分。共大家一起讨论。

2. 实验任务2 给出使用d命令查看生产时期的截图 给出使用e命令修改生产日期所在内存单元的截图,以及,修改后,再次使用d命令查看的截图 结论:能否修改,以及,原因分析

 

 

 结论:使用e命令无法修改电脑内存中的生产日期数据,因为无法修改显存中的内容。

3. 实验任务3 给出在debug中使用e命令修改内存单元的命令,及,效果截图 给出在debug中使用f命令批量填充内存单元的命令,及,效果截图 尝试修改内存单元,或,数据后的效果截图

 

 

 4. 实验任务4 根据在debug环境中调试观察结果,填空并回答问题。

-a

mov ax, 20

mov ds, ax

mov ss, ax

mov sp, 30

push [0] ; 执行后,寄存器(sp) = __002E__

push [2] ; 执行后,寄存器(sp) = __002C_

push [4] ; 执行后,寄存器(sp) = _002A___

push [6] ; 执行后,寄存器(sp) = __0028__

pop [6] ; 执行后,寄存器(sp) = _ 002A___

pop [4] ; 执行后,寄存器(sp) = __002C__

pop [2] ; 执行后,寄存器(sp) = __002E__

pop [0] ; 执行后,寄存器(sp) = __0030__

问题一: 逻辑地址是0020:0030,物理地址是00230H

问题二:

 

 问题三:

 

 问题四:

 

 

5. 实验任务5

问题一:

没有暂停,mov sp,30 在mov ss,ax后执行

问题二:

进栈时遵守后进先出的原则,并且低位在前

 6. 实验任务6

assume cs:code

code segment

start:

  mov cx, 10

  mov dl, '0'

s: mov ah, 2

  int 21h

  add dl, 1

  loop s

  mov ah,4ch

  int 21h

code ends

end start

 

7. 实验任务7

 

assume cs:code

code segment

    mov ax,cs

    mov ds,ax

    mov ax,0020h

    mov es,ax

    mov bx,0

    mov cx,cx-5

s:  mov al,[bx]

    mov es:[bx],al

    inc  bx

    loop s

    mov ax,4c00h

    int 21h

code ends

end

 

结论:已经把task7.asm中line3-line12的代码复制到了目标内存 空间。

 

五、实验总结

通过本次实验,更加熟悉了Debug的使用,学习并使用了各种命令,以及使用masm、link,汇编、链接。

 



这篇关于实验一:用汇编指令编码和调试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程