win10下的实验三

声明

上一篇实验三做的是书上的实验,经同学提醒,跟邮箱里要求的实验三不一致,所以重新写了一篇

 

实验内容 

1. 练习1 第1步,编写汇编源程序t1.asm, 源程序代码如图所示。 

新建了一个文本文档,文件名为t1,保存的是txt类型

打开DOS,在这里编译和连接遇到了一点麻烦,最后用下图中的方法解决了

masm t1.txt,t1.obj

link t1.obj,t1.exe

出现了以下的文件

运行debug打开t1.exe

(1)在masm集成环境下输入代码并运行

得到结果

输出结果36

(2)分别修改line 4 和line 9为数字8和1

得到结果如下

(3) 用debug对生成的可执行文件 t1.exe 进行调试。 

①使用 r 命令查看。

寄存器 cx 的值是 0016;观察寄存器 ds 和 cs 的值是 075A和 076A,它们之间满足关系(cs)=(ds)+10H 

② PSP(程序段前缀)的头两个字节是CD 20, 用debug查看PSP的内容

头两个字节为CD 20满足

③ 使用 u 命令对 t1.exe 进行反汇编,观察反汇编得到的源代码。 

④ 使用 t 命令和 p 命令(遇到 int 命令时,用 p 命令)单步调试,观察结果。 

2. 练习2

第1步,编写汇编源程序t2.asm,源程序代码如图所示。 

 

line6-7相当于mov [0], 0433h

line9-10相当于mov [2], 0436h

至于为什么这样使用两条指令,而不直接简化写成上面的形式,有两个原因。其中一个 是方便以后循环;另一个原因,留待第5章再解释说明。暂时,先这样使用。

在这里留个尾巴

第2步,对源程序 t2.asm 进行汇编、连接、运行、调试 

我先使用cls清了屏幕,以下是结果

左上角有个红色的36

(2)修改了内容

重新编译连接运行

 

第二次获得的结果为29,是刚刚改动过的数字

(3)修改了内容后,重新编译连接运行

由以上实验看出,第二个数字改变了颜色

第四个数字改动了结果

 

总结

1、在做到练习2时,我想直接使用masm集成实验环境运行时,出现mov [bx],0433h指令无效的错误,但是不明白为什么出错

2、int 21h是个中断信号,执行到后,会在屏幕上显示修改后的结果

转载于:https://www.cnblogs.com/duke45059/p/9868757.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值