实验四:【bx】和loop的使用

任务一:使用loop,【bx】实现向内存b800h:07b8开始的连续16个字单元重复填充数据0403h

第一步将要实现的代码写入记事本:

根据实验三可知我们将记事本文件保存在masm根目录下即可,文件拓展名为t1.asm

第二步:我们在masm集成环境下运行这个代码:

可以看见出现了一排红色的心(填充数据为什么填充出一排心来?)

第三步:将代码中0403h改为0441h在masm集成环境中再运行一次截图如下:

可以看出这一次将字数据改为0441h后,运行的结果变为一排A。

任务二:使用loop,【bx】,编写完整代码,实现向0:200~0:23f依次传送数据0~63(3f)

第一步:将实验所需代码写入记事本并存于masm根目录下:

第二步:通过masm编译,连接后,运行,在debug里面调试截图如下:

可见从段地址0:200~0:23f中已经填充了0~3f的数据。

任务三:补全书上的代码,在运行反汇编

第一步:将代码补全写入记事本

其中所填的cs,是因为需要复制指令,所以段地址必须为cs。

第二步:用debug调试(r命令查看寄存器cs)截图如下:

可以看见此时段地址为0770:0000。

第三步:在debug环境下调试该代码(反汇编)截图如下:

看到在指令loop s 之后的段地址为0770:0017,可知第二空的值所填为17h,符合结论,cx的值为17h。

总结:这一章和实验四都是要求充分运用loop和【bx】来编写代码,这一次的实验下来,感觉自己对

这两个指令的运用还不是很熟悉,很多的实验过程都是询问了下同学才知道的,通过这次实验也看到了

自己这一章的不足,可以加强一下

原文地址:https://www.cnblogs.com/nxdzy/p/9965728.html

时间: 2024-10-04 03:56:06

实验四:【bx】和loop的使用的相关文章

实验 四 [bx]和loop的使用

1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H. 代码  assume cs:code code segment mov ax,0b800h mov ds,ax mov bx,07b8h mov cx,16 s:mov [bx],0403h add bx,2 loop s mov ax ,4c00h int 21hcode endsend 2. 综合使用 loop,[bx],编写完整汇编源程序,实现向内存

实验四 [bx]和 loop 的使用

一: 1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据 0403H. 代码如下: assume cs:code code segment mov ax,0b800h mov ds,ax mov cx,16 mov bx,07b8H mov ax,0403h s: mov [bx],al inc bx mov [bx],ah inc bx loop s mov ax,4c00h int 21h code ends en

实验四 [bx]和loop的使用

1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H. 代码如下: 对他进行连接执行,出现了红心. 2. 综合使用 loop,[bx],编写完整汇编源程序,实现向内存 0:200~0:23F 依次传送数据 0~63(3FH). 写出程序,执行用d命令查看 3. 教材实验4(3)(P121) 使用r命令显示寄存器状态,显示程序所占字节数 cx=001c; 使用u命令,求出需要复制的机器码的字节数 001cH-00

实验四 [BX]和loop指令

一.练习1 编写完整汇编源程序,实现向内存b800:07b8开始的连续16个字单元重复填充字数据0430h. 源程序如下: 运行结果如下: 二.练习2 综合使用loop和[bx],编写完整汇编源程序,实现向内存0:200~0:23f依次传送数据0~63(3FH). 源程序代码如下: assume cs:code code segment mov ax,00020h mov ds,ax mov bx,0 mov cx,64 s: mov [bx],bx inc bx loop s mov ax,4

汇编实验肆 [bx]和loop的使用

南京信息工程大学实验报告 实验名称   实验 4 [bx]和loop的使用 实验日期      11.25 得分 学院   计软院 专业   计科 年级   2017级 班次   6班级 姓名   江轲禹 学号   20171308227 一.实验目的 1. 理解和掌握寄存器间接寻址方式[bx] 2. 通过汇编指令loop的使用理解编程语言中循环的本质 3. 熟练掌握使用debug按需调试完整汇编源程序的方法 二.实验准备 1. 学习/复习第 5章使用[bx]和loop实现循环的编程应用示例(教

实验 4 [bx]和 loop 的使用

一.实验目的 1. 理解和掌握寄存器间接寻址方式[bx] 2.  通过汇编指令 loop 的使用理解编程语言中循环的本质 3.  熟练掌握使用 debug 按需调试完整汇编源程序的方法 二.实验准备 1. 学习/复习第 5 章使用[bx]和 loop 实现循环的编程应用示例(教材 5.5 节,5.8 节) 2.  复习第 3 章「栈」的知识 3.  结合第 4 章课件,复习完整汇编源程序编写→汇编→连接→运行→调试的方法 三.实验内容 1.  综合使用 loop,[bx],编写完整汇编程序,实现

实验 4 [bx]和loop的使用

一.实验结论 1.实验内容1 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H. (1)代码如下: assume cs:codecode segment mov ax,0b800h     mov ds,ax     mov ax,0403h     mov bx,07b8h     mov cx,16s:mov [bx],ax  inc bx  inc bx  loop s  mov ax,4c00h  int

实验4 [bx]和loop的使用

1. 综合使用loop,[bx],编写完整汇编程序,实现向内存b800:07b8 开始的连续16 个 字单元重复填充字数据0403H. 在Masm集成环境中写入代码保存为1116.asm文件如下: 编译运行生成如下文件: 成功运行得到如下结果: 用debug调试查看b800:0728后的16个字单元的内容,成功改写,截图如下: 将数据0403h改写成0441h,编译运行得到如下截图: 结论:观察到改变填充内容,输出字符形状产生了变化,且是根据各数值对应的ASCII码及相应形状而发生改变. 通过改

汇编入门学习笔记 (四)—— [BX] 和 loop指令

疯狂的暑假学习之  汇编入门学习笔记 (四)-- [BX]  和 loop指令 参考:<汇编语言> 王爽 第5章 1.[BX] mov al,[1] 在debug中,会把bs:1 中数据赋给al,但在在masm中不会把bs:1 中数据赋给al,而是把 [1] 认为是 1 赋给al. 如果要实现在debug中的mov al,[1],在masm中就需要[bx] 如: mov bx,1 mov al,[bx] 还可以用 bs:[1] 的方式 如: mov al,bs:[1] 2.loop 循环 要使