实验四 [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,4c00h
        int 21h
code ends
end

实验结果如下图:

三、练习3 

教材实验4(3) (P121)

源程序代码如下:

assume cs:code
code segment
        mov ax,cs
        mov ds,ax
        mov ax,0020h
        mov es,ax
        mov bx,0
        mov cx,17h

s:
        mov al,[bx]
        mov es:[bx],al
        inc bx
        loop s

        mov ax,4c00h
        int 21h
code ends
end

实验结果如下:

总结与思考:

这一节主要学了汇编语言中循环语句的使用,有了loop指令汇编语言稍微的不是那么繁琐了一点。

这一节有许多零碎的知识点,比如汇编源程序中数据不能以字母开头、将单元中的数值赋给寄存器时要同时考虑长度与大小、

汇编源程序与Debug功能中[X]的不同含义等等。需要不断积累。

原文地址:https://www.cnblogs.com/wlxnw/p/9976294.html

时间: 2024-10-08 21:56:40

实验四 [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指令

疯狂的暑假学习之  汇编入门学习笔记 (四)-- [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 循环 要使

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

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

[bx]和loop指令

1.[bx]的含义 [bx]表示一个内存单元,它的偏移地址在bx中,比如:mov ax,[bx]会将一个内存单元的内容送入ax,这个内存单元的长度是2个字节,存放一个字,偏移地址存放在bx中,段地址在ds中.mov al,[bx]则是移动半个字. 2.loop指令 loop 标号 CPU执行loop指令的时候分两步: 1.(cx)=(cx)-1 2.判定cx中的值,不为零则转至标号出执行程序,如果为0则向下执行. 从上面的描述中,我们可以看到,cx中的值影响着loop指令的执行效果.通常我们lo

实验 4 [bx]和 loop 的使用

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

王爽《汇编语言》第三版 第五章 [BX]和loop指令

5.1 [bx] mov ax,[bx]功能:bx 中存放的数据作为一个偏移地址EA ,段地址SA 默认在ds 中,将SA:EA处的数据送入ax中. 5.2 Loop指令 指令的格式是:loop 标号,CPU 执行loop指令的时候,要进行两步操作: 1.(cx)=(cx)-1: 2.判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行. 通常我们用loop指令来实现循环功能,cx 中存放循环次数. 5.3 在Debug中跟踪用loop指令实现的循环程序 5.4 Debug和汇编编译器

小甲鱼零基础汇编语言学习笔记第五章之[BX]和loop指令

这一章主要介绍什么是[BX]以及loop(循环)指令怎么使用,loop和[BX]又怎么样相结合,段前缀又是什么鬼,以及如何使用段前缀. 1.[BX]的概念 [BX]和[0]类似,[0]表示内存单元的偏移地址是0.要完整描述一个内存单元,需要两种信息:内存单元的地址,内存单元的长度(类型).[BX]同样也表示一个内存单元,它的偏移地址在bx中,比如指令:mov ax,[bx].这里我们以一个程序为例: 1 assume cs:codesg 2 codesg segment 3 start: mov