实验四

一、实验目的

  1. 理解和掌握寄存器间接寻址方式[bx]
  2. 通过汇编指令 loop 的使用理解编程语言中循环的本质
  3. 熟练掌握使用debug 按需调试完整汇编源程序的方法

二、实验准备

  1. 学习/复习第 5 章使用[bx]和 loop 实现循环的编程应用示例(教材 5.5 节,5.8 节)
  2. 复习第 3 章「栈」的知识
  3. 结合第 4 章课件,复习完整汇编源程序编写→汇编→连接→运行→调试的方法

三、实验内容

  1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个

字单元重复填充字数据 0403H

在编辑—汇编—连接—执行—运行成功后就可以得到结果:在屏幕中间出现一排红色的爱心。

(2)将源代码程序中字数据 0403H→修改为 0441H,再次运行,截图显示运行结果。

 

得到结果:红色的爱心变成红色的大写字母A。

2.综合使用 loop,[bx],编写完整汇编源程序,实现向内存 0:200~0:23F 依次传送数据

0~63(3FH)。

(1) 必做:综合使用 loop, [bx], mov 实现

(2) 选做*:利用栈的特性,综合使用 loop,push 实现(限定仅使用 8086 中已学过指令实现)

在生成最终的可执行文件t2.exe后,用debug加载t2.exe,就可以查看程序在内存中的情况。

 3. 教材实验 4(3)(P121)

在调试完成后,用debug加载A3.exe,用r命令查看CX=001C

总结:

这次实验比之前的更有难度,细节方面要多加注意

cx和loop指令相配合实现循环功能的三个要点

(1)  在cx中存放着循环次数(2) loop指令中的标号所标识的地址要在前面(3)要循环执行的程序段,要写在标号和loop指令的中间

用cx和loop指令配合实现循环功能的程序框架如下

          mov   cx,循环次数

s:

   循环执行的程序段

  loop  s

转载于:https://www.cnblogs.com/yoyozzl/p/10016932.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值