《汇编语言》第3版 (王爽)实验11解析

news2024/10/2 8:30:53

第11章 实验11解析


检测点11.3
(1).补全下面的程序,统计F000:0处32个字节中,大小在[32,128]的数据个数。

   mov ax,0f000h
   mov ds,ax
   mov bx,0
   mov dx,0
   mov cx,32
   
 s:mov al,[bx]
   cmp al,32
   jb s0 ;由于包含32,所以使用低于转移
   cmp al,128
   ja s0 ;由于包含128,所以使用高于转移
   inc dx
   
s0:inc bx
   loop s

(2).补全下面的程序,统计F000:0处32个字节中,大小在(32,128)的数据个数。

   mov ax,0f000h
   mov ds,ax
   mov bx,0
   mov dx,0
   mov cx,32
   
 s:mov al,[bx]
   cmp al,32
   jna s0 ;由于不包含32,所以使用不高于转移
   cmp al,128
   jnb s0 ;由于不包含32,所以使用不低于转移
   inc dx
   
s0:inc bx
   loop s

实验11 编写子程序

编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母。

assume cs:code

datasg segment
 db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends

code segment
start:mov ax,datasg  
      mov ds,ax   ;ds指向数据段(字符串所在地址)
      mov si,0    ;将si清零,后面使用si访问字符串
      call letterc ;调用子程序,将小写字母改成大写字母

      mov ax,4c00h
      int 21h
letterc:mov ch,0       ;将ch清零
        mov cl,ds:[si] ;将ds:[si]指向的字符放入cl中
	    jcxz ok        ;判断是否为0,如果为0则说明字符串修改完毕
	    cmp cx,61H     ;如果CX中的值低于61H,说明当前字符不是小写字符,无需修改
	    jb s           ;跳转到标号s处执行
	    cmp cx,7aH     ;如果CX中的值高于7aH,说明当前字符不是小写字符,无需修改
	    ja s           ;跳转到标号s处执行
	    and cl,11011111B ;将小写字母改成大写字母后存入cl
	    mov ds:[si],cl  ;将修改后的字母送回原地
      s:inc si          ;si+1指向下一个字符
	    jmp short letterc 
      ok:ret  ;子程序返回
      
code ends
end start

将程序加载后使用D命令查看内存单元处内容如下:此时数据还未被修改。
在这里插入图片描述
运行程序后,再次使用D命令查看内存单元处内容如下:可看到此时小写字母已经被转换成大写字母。
在这里插入图片描述

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

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

相关文章

深入理解Java泛型:灵活、安全、可重用的编程利器

Java泛型是一项强大的编程特性,为程序员提供了一种灵活、类型安全、可重用的编码方式。通过泛型,我们能够编写更加通用、适应多种数据类型的代码,从而提高了代码的灵活性和可维护性。在这篇博客中,我们将深入探讨Java泛型的各个方…

selenium元素定位问题

具体网页信息如下: 定位的时候driver.find_element(By.CLASS_NAME, 方法搞不定。 定位方法: 方法一:通过文本定位 driver.find_element(By.XPATH, "//*[text()高分一号]").click() time.sleep(3) 如果是部分文字 #部分文字py…

GFP-GAN环境搭建推理测试

引子 近期,文生图,wav2lip很火,文生图,见识的太多,不多说了。wav2lip其通过语音驱动唇部动作并对视频质量进行修复,里面一般涉及到三个步骤,文本到语音转化,语音驱动唇部动作&#…

HIVE伪分布安装

引言 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,类似于RDBMS(关系型数据库,如MySQL、Oracle、PgSQL),并提供类SQL的查询功能。 实验准备 1.搭建好伪分布安装模式的Hadoop的虚拟机,并配置了Linux网络。(可看我前面发布的文章) 2.apache…

美国签证|附面签相关事项√

小伙伴最近都忙着办签证吧!但是需要注意的是,美国的签证跟其他任何国家的签证不同,并不是办理了就一定拿得到,据说概率是50%左右。所以办理美国签证,不要太着急啦!先来了解一下美国签证的相片该怎么拍叭 ✅…

NPP VIIRS卫星数据介绍及获取

VIIRS(Visible infrared Imaging Radiometer)可见光红外成像辐射仪。扫描式成像辐射仪,可收集陆地、大气、冰层和海洋在可见光和红外波段的辐射图像。它是高分辨率辐射仪AVHRR和地球观测系列中分辨率成像光谱仪MODIS系列的拓展和改进。VIIRS数…

雷卯推荐电磁兼容保护器件-PPTC自恢复保险丝

一、PPTC的简介 自恢复保险丝, 简称PPTC。是一种正温度系数聚合物热敏电阻,作过流保护用,可代替电流保险丝。 电路正常工作时它的阻值很小(压降很小),当电路出现过流使它温度升高时,阻值急剧增大几个数量级…

运行时错误‘53’:文件未找到:MathPage.WLL。Word粘贴复制时报错解决方案!

最近写文章使用 Word 时,粘贴复制总是出现这个报错,不能 ctrlc 和 v 好叫人苦恼。百度大致检索了一些过程,仍然有必要记录自己的问题解决过程。 快让本文进你的文件夹吃灰吧~ 报错如下: 运行时错误‘53’: 文件未找…

C++特殊类设计【特殊类 || 单例对象 || 饿汉模式 || 懒汉模式】

目录 1. 只在堆上创建的类 2. 只允许在栈上创建的类 3. 不能被继承的类 4. 不能被拷贝的类 5. 设计一个类,只能创建一个对象(单例对象) 饿汉模式 懒汉模式 嗨!收到一张超美的风景图,愿你每天都能顺心&#xff0…

Java中常用的集合及方法(2)

在Java(JDK8)中,集合(Collection)是数据结构的实现,用于存储和操作对象集合。 集合(Collection)中包含的一般类或接口: 在这其中呢,我们经常使用的其实就是L…

实验一:华为VRP系统的基本操作

1.1实验介绍 1.1.1关于本实验 本实验通过配置华为设备,了解并熟悉华为VRP系统的基本操作 1.1.2实验目的 理解命令行视图的含义以及进入离开命令行视图的方法 掌握一些常见的命令 掌握命令行在线帮助的方法 掌握如何撤销命令 掌握如何使用命令快捷键 1.1.3实验组网 …

数据结构(十)——头插法和尾插法建立单链表

😀前言 在数据结构中,单链表是一种常见的数据结构,它由一个头节点和若干个数据节点组成。创建单链表的过程可以通过头插法或尾插法来实现。头插法是将新节点插入到链表的头部,而尾插法是将新节点插入到链表的尾部。本文将介绍头插…

qt 格式化打印 日志 QMessagePattern 格式词法语法及设置

一、qt源码格式化日志 关键内部类 QMessagePattern qt为 格式化打印日志 提供了一个简易的 pattern(模式/格式) 词法解析的简易的内部类QMessagePattern,作用是获取和解析自定义的日志格式信息。 该类在qt的专门精心日志操作的源码文件Src\qtbase\src\corelib\global\qloggi…

ChatGPT预训练的奥秘:大规模数据、Transformer架构与自回归学习【文末送书-31】

文章目录 ChatGPT原理与架构ChatGPT的预训练ChatGPT的迁移学习ChatGPT的中间件编程 ChatGPT原理与架构:大模型的预训练、迁移和中间件编程【文末送书-31】 ChatGPT原理与架构 近年来,人工智能领域取得了巨大的进展,其中自然语言处理&#xf…

微信小程序onLoad加载定义好的函数

这里小程序开发中容易犯的错误-1 给客户做一个程序。需要在页面加载的时候在onLoad(options){}中加载定义好的函数,代码如下 onLoad(options) {get_week_()},运行时老报错 后来修改为正确的代码 onLoad(options) {this.get_week_()//必须加this},再尝试运行&#x…

java学习(Arrays类和System类)

目录 一.Arrays类 二.System常见方法 一.Arrays类 Arrays包含了一系 列静态方法,用于管理或操作数组(比如排序和搜索) Integer[] s{1,2,3};//1.Arrays.toString方法,遍历数组//2.Arrays.sortArrays.sort(s);//默认排序&#xf…

幕译--本地字幕生成与翻译--Whisper客户端

幕译–本地字幕生成与翻译 本地离线的字幕生成与翻译,支持GPU加速。可免费试用,无次数限制 基于Whisper,希望做最好的Whisper客户端 功能介绍 本地离线,不用担心隐私问题支持GPU加速支持多种模型支持(中文、英语、日…

Anaconda prompt运行打开jupyter notebook 指令出错解决方案

一、打不开jupyter notebook网页 报错如下: Traceback (most recent call last): File “D:\anaconda3\lib\site-packages\notebook\traittypes.py”, line 235, in _resolve_classes klass self._resolve_string(klass) File “C:\Users\DELL\AppData\Roaming\Py…

idea2023版使用废弃类没有删除线处理方法

idea2023版使用废弃类没有删除线处理方法 新版Idea使用废弃类时,默认是黄色警告处理方法1. 打开file -> setting2. 编辑(Editor) -> 检查(Inspections) -> 搜索Deprecated API usage 新版Idea使用废弃类时,默认是黄色警告 处理方法 1. 打开file -> setting 2. 编…

Linux系统架构----LNMP平台部署中部署wordpress

Linux系统架构----LNMP平台部署中部署wordpress 一、LNMP的概述 LNMP为Linux平台,Nginx web服务软件,mysql数据库软件,PHP编辑语言LNMP系统架构相对于LAMP的优点是LNMP比较节省内存,主要支持静态请求,但在访问量大的…