汇编语言程序设计实验三 数据串传送和查表程序

  • 实验目的和要求

1、堆栈。堆栈指示器SP和堆栈操作指令PUSHPOP

2、段寄存器和物理地址计算。

3、查表法和查表指令XLAT

4、数据串传送程序和数据串传送指令MOVSSTOS及重复前辍REP

5、循环指令ROL。逻辑与指令AND和清方向位指令CLD

6、伪操作指令DB

  • 实验环境

Windows7 DOSBox 0.74

  • 实验内容与过程

1.编写实验任务要求的程序

2.学习一下调试方法

利用查表方法把DX的内容(16进制数)转换成ASCII:

1)、用A命令键入下列程序:

MOV   BX,1000MOV   DI,2000MOV   CX,4LOP: PUSH   CXMOV   CL,4ROL   DX,CLPOP   CXMOV   AL,DLAND   AL,OFXLATCLDSTOSBLOOP  LOPINT   20

2A命令在1000H处键入下列ASCII码并用D命令检查之:

DB `0 1 2 3 4 5 6 7 8 9 A B C D E F'

D命令检查时注意左边的ASCII码值和右边的字符。

3)用R命令给DX送一个四位的16进制数(7F8E)

4)用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(D命令检查)

5)用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。可注意屏幕右边的ASCII字符与DX是否一致。

3.验证:数据串搬家程序:

1)用A命令键入下列程序:

MOV   SI,1000MOV   DI,1500MOV   CX,0FLOP: MOV   AL,[SI]MOV   [DI],ALINC   SIINC   DILOOP  LOPINT  20

2A命令DB伪指令在1000H键入下列字符串:

IBM_PC COMPUTER'

3G命令运行此程序,并用D命令检查目的地址处的字符与源串是否一致

一致

4.段寄存器概念及字符串传送指令练习:

1)用A命令键入下列程序:

MOV   SI,0MOV   DI,0MOV   AX,1000MOV   DS,AXMOV   AX,1500MOV   ES,AXMOV   CX,0FCLDREP   MOVSBINT   20

2A命令DB伪指令在1000:0000处键入字符串'IBM_PC COMPUTER',并用D命检查之

3D命令检查0F00:1000处内容,看是否一样为什么?

 4G命令运行此程序,检查目的地址1500:0000处内容。并记下DSES值。

  • 实验结果与分析

1、把实验准备(二)程序中的目的地址改为1002H,再运行此程序,看能不能把1000H开始的 字符串搬到1002H开始的地方去?

不能,会被覆盖。

2、修改实验准备(二)程序以做到把1000H开始的字符串搬到1002H开始的地方去

可以看到整个字符段向后移两个字节

输入一1对应十六进制数为 十六进制数为0000000Ih ,取绝对值为1对应从运行结果可以看到存放高字的dx=0000存放 低字的ax=0001

   4将双字(DX,AX)左移4 位。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五步法搞定 BI 业务需求梳理

五步法搞定 BI 业务需求梳理。高手就是把复杂的事情简单化,简单的东西重复做、认真做。 01 五步法是哪五步 第一、明确用户 五步法搞定 BI 业务需求梳理。高手就是把复杂的事情简单化,简单的东西重复做、认真做。 第二、明确指标 在明确需求用户的前…

LeetCode 2125.银行中的激光束数量

银行内部的防盗安全装置已经激活。给你一个下标从 0 开始的二进制字符串数组 bank ,表示银行的平面图,这是一个大小为 m x n 的二维矩阵。 bank[i] 表示第 i 行的设备分布,由若干 ‘0’ 和若干 ‘1’ 组成。‘0’ 表示单元格是空的&#xff0…

NERF论文笔记

NeRF:Representing Scene as Neural Radiance Fields for View Synthesis 笔记 摘要 实现了一个任意视角视图生成算法:输入稀疏的场景图像,通过优化连续的Volumetric场景函数实现;用全连接深度网络表达场景,输入是一个连续的5维…

Unity(第二十部)效果 粒子、线条和拖尾

1、粒子系统 粒子系统介绍 Unity 粒子系统是 Unity 引擎中用于创建和控制粒子效果的工具。它可以模拟各种自然现象,如火焰、烟雾、雨滴等,也可以用于创建特效,如魔法光芒、爆炸效果等。 粒子系统组成 在 Unity 中,粒子系统由发射…

用 Dockerfile为镜像添加SSH服务

1、基础镜像ubuntu:18.04 2、替换为国内的安装源 3、安装openssh-server 4、允许root用户远程登陆 5、暴露端口22 6、服务开机自启动 1.创建目录 [rootopenEuler-node1 db]# mkdir sshd_ubuntu 2.创建 Dockerfile、 run.sh 、authorized_keys、vim aliyun.list 文件 [rootop…

网盘拉新如何对接?盘点最靠谱的一手渠道平台

2024网盘行业再次重燃战火。字节旗下产品头条搜索极速版APP、悟空浏览器APP推出对应的网盘功能,刚刚开放了拉新推广,现在是一个不能错过新项目的好时机。 如果你对网盘拉新推广充满热情,千万不要错过星子助推联合字节推出的网盘项目机会。小…

python自动化之如何利用allure生成测试报告

Allure测试报告框架帮助你轻松实现”高大上”报告展示。本文通过示例演示如何从0到1集成Allure测试框架。重点展示了如何将Allure集成到已有的自动化测试工程中、以及如何实现报表的优化展示。Allure非常强大,支持多种语言多种测试框架,无论是Java/Pytho…

成功的交易没有对错,只有逻辑

大部分人将交易失败归咎于心态,但其实我们是否认真思考过自己的基本功是否扎实呢?这篇文章将引导你换个角度看待交易,让你明白自己应该努力的方向。 曾经,你或许认为资金体量小、信息不对称、技术不过关、心态不过硬是阻碍交易发展…

TikTok外贸系统的核心功能及其源代码分享!

随着全球化的不断推进,外贸业务成为越来越多企业的增长动力,TikTok作为一个全球性的社交媒体平台,其用户基数庞大、活跃度高,为外贸业务提供了无限的商机。 为了帮助企业在TikTok上更好地开展外贸业务,TikTok外贸系统…

【DDD】学习笔记-聚合和聚合根:怎样设计聚合?

今天我们来学习聚合(Aggregate)和聚合根(AggregateRoot)。 我们先回顾下上一讲,在事件风暴中,我们会根据一些业务操作和行为找出实体(Entity)或值对象(ValueObject&…

47、WEB攻防——通用漏洞Java反序列化EXP生成数据提取组件安全

文章目录 序列化和反序列化的概念: 序列化:把java对象转换成字节流的过程;反序列化:把字节流恢复为java对象的过程。 对象的序列化主要有两种用途: 把对象的字节流永久的保存在硬盘上,通常存放在一个文件…

网络分析工具简介及汇总

文章目录 一、网络分析工具软件是什么二、网络分析工具软件作用三、常见的网络分析工具 一、网络分析工具软件是什么 网络分析工具软件是一种用于捕获、分析和解释网络数据包的工具。它们可以直接从网络接口上捕获数据包,并提供详细的信息和统计数据,以帮…

xss.haozi.me:0x0B

<svg><script>(1)</script>

洛谷 B3620 x 进制转 10 进制

题目描述 给一个小整数 x 和一个 x 进制的数 S。将 S 转为 10 进制数。对于超过十进制的数码&#xff0c;用 A&#xff0c;B&#xff0c;…… 表示。 输入格式 第一行一个整数 x; 第二行一个字符串 S。 输出格式 输出仅包含一个整数&#xff0c;表示答案。 输入输出样例…

【JavaScript】面试手撕浅拷贝

【JavaScript】面试手撕浅拷贝 引入 浅拷贝和深拷贝应该是面试时非常常见的问题了&#xff0c;为了能将这两者说清楚&#xff0c;于是打算用两篇文章分别解释下深浅拷贝。 PS: 我第一次听到拷贝这个词&#xff0c;有种莫名的熟悉感&#xff0c;感觉跟某个英文很相似&#xff…

Linux文本处理三剑客:awk(内置函数详解笔记)

Linux系统中&#xff0c;AWK 是一个非常强大的文本处理工具&#xff0c;它的内置函数使得对文本数据进行处理更加高效和便捷。 本文将介绍 AWK 内置函数的几种主要类型&#xff1a; 算数函数字符串函数时间函数位操作函数其他常用函数 我们将使用一个示例文本文件来演示这些函…

局域网如何搭建服务器?

随着网络的普及和应用场景的不断拓展&#xff0c;局域网搭建服务器逐渐成为大家关注的话题。在日常生活和工作中&#xff0c;我们经常需要通过局域网和互联网进行文件共享、资源访问等操作&#xff0c;而搭建服务器则是实现这些功能的重要手段之一。本文将针对局域网搭建服务器…

SwiftUI 如何在运行时从底层动态获取任何 NSObject 对象实例

概览 众所周知,SwiftUI 的推出极大地方便了我们这些秃头码农们搭建 App 界面。不过,有时我们仍然需要和底层的 UIKit 对象打交道。比如:用 SwiftUI 未暴露出对象的接口改变视图的行为或外观。 从上图可以看到,我们 SwiftUI 代码并没有设置视图的背景色,那么它是怎么变成绿…

vscode 本地/远程添加python解释器

文章目录 1. 背景2. 增加python解释器 1. 背景 我们在使用 vscode 去远程调试代码时&#xff0c;如果环境存在多个 Python 版本&#xff08;如用 conda 管理&#xff09;&#xff0c;没有选择正确的 Python 解释器会导致少包、库不适配等各种问题 2. 增加python解释器 windo…

鸿蒙系统适配的流程

鸿蒙系统适配的流程通常涉及以下关键步骤&#xff0c;以下是鸿蒙系统适配的一般流程&#xff0c;具体流程可能会根据项目的具体需求和开发团队的情况进行调整和优化。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 准备工作&#…