实验一:用汇编指令编码和调试
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,汇编、链接。
这篇关于实验一:用汇编指令编码和调试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南