汇编语言--实验四

2023-05-16

                             实验名称:[BX]和loop的使用

一:实验目的

  1. 学会使用[bx]和loop。
  2. 使用debug练习一些简单的编程。
  3. 练习使用debug调试汇编程序的方法。

二:实验内容及步骤

内容:(1): 编程,向内存0:200-0:23F依次传送数据0-63(3FH)。

步骤:(1):

1)、进入Debug程序

2)、运行edit,在edit中编辑程序

 

3)、将程序保存到当前目录命名为1.asm,退出edit,结束对源程序的编辑。

4)、将源程序编译,生成目标文件。

5)、对目标文件连接,生成可执行文件

6)、执行可执行文件。

结果代码(1):

assume cs:code

code segment

mov ax,0

mov ds,ax

mov al,0

mov bx,200h

mov cx,64

s:mov [bx],al

inc al

inc bx

loop s

mov ax,4c00h

int 21h

code ends

end

内容(2):编程,向内存0:200-0:23F依次传送0-63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h”和“int 21h”。

步骤(2):

1)、运行edit,在edit中编辑程序

结果代码(2):

assume cs:code

code segment

mov ax,20h

mov ds,ax

mov bx,0

mov cx,64

s:mov [bx],bl

inc bx

loop s

mov ax,4c00h

int 21h

code ends

end

内容(3

下面的程序的功能是将“mov ax,4c00”之间的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果

复制的是指令,指令存放在cs:ip中,所以第一个空应该填cs

第二个空填写17,可以在执行前查看一下占用的字节数

主要是如何获取大小,可以给cx赋一个任意值,在dosbox里面debug,看生成的程序里面"mov ax, 4c00h"的位置是多少,再填入其中。

assume cs:code

code segment

        mov ax,cs

        mov ds,ax

        mov ax,0020h

        mov es,ax

        mov bx,0

        mov cx,23

s:  mov al,[bx]

        mov es:[bx],al

        inc bx

        loop s

       

        mov ax,4c00h

        int 21h

code ends

end

步骤(3):

1)、运行edit,在edit中编辑程序

 

2)将程序保存到当前目录命名为1.asm,退出edit,结束对源程序的编辑。

3)、将源程序编译,生成目标文件。

5)、对目标文件连接,生成可执行文件

6

6)、追踪调试

结果(3):

三:实验过程中出现的问题及解决方法

写完程序编译后经常出现一些小错误,开始对过程不是很熟练,每题敲多遍慢慢就熟练了,问题也逐渐减少。

四:实验总结

通过此次实验我学会了使用【bx】和loop,熟悉了利用debug进行一些简单的编程,以及更加熟练使用debug的调试过程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

汇编语言--实验四 的相关文章

  • 2022数学建模国赛B题和C题高质量论文代码数据

    目录 B题论文 5 1 问题一的建模与求解 5 1 1 使用极坐标求解具体位置 C题论文 1 1 研究背景 1 2 问题的提 5 1 问题一的建模与求解 5 1 1 数据的预处理 B题论文 5 1 问题一的建模与求解 5 1 1 使用极坐标
  • stm32小白学习之寄存器名称

    IDR输入只读寄存器 xff0c ODR输出可读可写寄存器 BSRR xff08 置位寄存器 xff09 与BRR xff08 复位寄存器 xff09 CRL xff08 端口配置低位寄存器 xff09 与CRH xff08 端口配置高位寄
  • 使用Vite创建Vue3+TS项目并整合Element Plus框架等一条龙服务

    记录一下使用Vite创建Vue3 43 TS项目以及整合Element Plus框架 xff0c 还有Less Pinia Vue router monaco editor等插件或组件 一 使用Vite创建Vue3 43 TS项目 第一步
  • Qt学习 第37节:QString

    在阅读QString文档时 xff0c 出了一个词 implicit sharing copy on write xff0c 不是很懂 xff0c 下面链接解释的表明白 QT的隐式共享 Implicit Sharing 道路与梦想 CSDN
  • 下载Postman并且汉化使用

    下载Postman并且汉化使用 一 下载postman postman有不同的版本 xff0c 如果要汉化就要下载的版本与汉化包一致 下载地址 xff1a postman官网下载地址 xff1a https www postman com
  • 【Vue】postman汉化教程 保姆级教程 包教会

    下载链接 xff1a Win64 Win32 历史版本下载 请把下面链接的 34 版本号 34 替换为指定的版本号 xff0c 例如 xff1a 8 8 0 版本链接Windows32位https dl pstmn io download
  • 操作系统实验——进程与线程

    目录 1 使用GCC xff08 1 xff09 参数 xff08 2 xff09 自定义头文件 xff08 3 xff09 makefile脚本 xff08 4 xff09 gdb调试 2 进程 xff08 1 xff09 新建进程 xf
  • 串口应用(USART)

    串行口应用 1 USART介绍 通用同步异步收发器 USART 提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的 外部设备之间进行全双工数据交换 USART利用分数波特率发生器提供宽范围的波特率选择 它支持同步单向通信和半双工单线
  • cpp-httplib 避免阻塞主线程, c++封装httplib,httplib面向对象开发

    目录 说明 前言原生的httplib会阻塞你的主线程解决httplib阻塞主线程的问题BashController 面向对象风格使用httplib自定义controller MyController h文件自定义controller Tes
  • 数据结构——结构体的5种定义方式及对比

    以下仅为定义结构体的方式 xff0c 具体使用在后续的文章中介绍 span class token macro property span class token directive hash span span class token d
  • 【C++】STL应用(详解)

    一 泛型程序与STL1 泛型程序设计的基本概念2 STL简介 二 迭代器1 输入流迭代器2 输出流迭代器 三 STL应用1 撰写自己的算法和函数 xff0c 结合容器和迭代器解决序列变换 xff08 如取反 平方 立方 xff09 xff0
  • 模块学习(二)——MPU6050

    去年电赛备赛期间 xff0c 学的STM32标准库 xff0c 那一整个繁琐直接给我劝退了 xff0c 当时学习MPU6050时就非常痛苦 xff0c 代码也看不懂 xff0c 无非抄来抄去 xff0c 然后就是编译 xff0c 改错 xf
  • 【嵌入式面试题】常见的面试题梳理一

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 使用Python+openpyxl实现导出自定义样式的Excel文件

    之前项目中的导出Excel文件操作都是在前端完成的 xff0c 项目是由vue 43 vite构建的 xff0c 效果还不错的 xff0c 所需依赖包如下所示 npm i xlsx 64 0 18 5 npm i xlsx style vi
  • 【嵌入式面试题】常见面试题梳理二

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 【嵌入式面试题】常见面试题梳理三

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 【嵌入式面试题】常见面试题梳理四

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 【嵌入式面试题】常见面试题梳理五

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 【嵌入式面试题】常见面试题梳理六

    注 xff1a 看面试题时 xff0c 主要应该以学习为主 xff0c 面试题有些基本上是我们编程时会遇上的问题 xff0c 通过学习面试题会提升我们的编程意识和解决一些日常我们编程所遇到的问题 xff0c 看完这篇面试题后 xff0c 希
  • 我的创作一周年纪念日--收获与成长与展望

    机缘 2022年10月11日 xff0c 是我创作的一周年纪念日 xff0c 1年前 xff0c 刚到大三的我开启了我的创作之旅 xff0c 那个时候 xff0c 我选择重新学习C语言和数据结构 xff0c 将我的基础在进行巩固 在那个时候

随机推荐