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

news2024/11/18 8:24:30

第7章 实验6解析


(1).编程,完成问题7.9中的程序。
问题7.9
编程,将datasg段中每个单词的前4个字母改为大写字母。

assume cs:codesg,ss:stacksg,ds:datasg

stacksg segment  ;开辟了栈段空间,容量为16个字节
	dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment   ;开辟了数据段空间
	db '1. display      '
	db '2. brows        '
	db '3. replace      '
	db '4. modify       '
datasg ends
codesg segment
start:mov ax,stacksg  ;将栈的段地址放入AX寄存器中
  	  mov ss,ax       ;将AX寄存器中的内容放入SS段寄存器中,即栈的段地址
	  mov sp,16       ;设置栈顶指针
	  mov ax,datasg   ;将数据的段地址放入AX寄存器中
	  mov ds,ax       ;将AX寄存器中的内容放入DS中,即数据的段地址
	  mov bx,0        ;0送入BX寄存器中
	
	  mov cx,4        ;一共有4个单词,所以外层循环四次
   s0:push cx         ;将CX中的值入栈保存
      mov si,0        ;0送入SI寄存器中,以便后续寻址使用
	  mov cx,4        ;每个单词中又要修改四个字母,所以内层循环四次
	
    s:mov al,[bx+si+3]  ;将内存单元DS:bx+si+3中的数据送入AL中
      and al,11011111b  ;改成大写字母
	  mov [bx+si+3],al  ;修改原来的数据
	  inc si            ;si+1指向下一个数据
	  loop s
	
	  add bx,16         ;bx+16指向下一个单词
	  pop cx            ;出栈原来保存的CS中的值
	  loop s0
	  
      mov ax,4c00h
      int 21h
codesg ends
end start

将上述程序在DOS中运行后,可使用D命令查看内存单元中的数据如下:
程序未执行前内存单元中的数据如下
在这里插入图片描述程序执行后内存单元中的数据如下
在这里插入图片描述
可看到前四个字母修改成了大写

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

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

相关文章

selenium爬取房价收入比可视化

数据来源:聚合数据 from selenium import webdriver from bs4 import BeautifulSoup import csv from selenium import webdriver from fake_useragent import UserAgent import random import subprocess from selenium import webdriver from selenium.webdrive…

面试高频率问答题目

索引: 主键索引:表的id (唯一 且 不能为空) 唯一索引:表User 假设有account 字段 ,用户名不重复 (唯一 可以为空) 复合索引:where() 的条件 用户名,密码 …

国创证券|黄金概念发力拉升,金贵银业两连板,山东黄金等走高

黄金概念5日盘中发力拉升,到发稿,金贵银业涨停,玉龙股份涨近9%,中润资源涨近6%,山东黄金、银泰黄金涨超3%。 值得注意的是,金贵银业已接连两个买卖日涨停,公司3日晚间公告,根据证券…

大气颗粒物与VOCs PMF源解析:环保行业的新利器

在现今日益严峻的环境问题中,大气颗粒物和臭氧污染尤为突出,它们不仅深刻影响着全球气候和生态环境,更对人体健康构成了严重威胁。为了有效应对这一挑战,我们首先需要深入了解颗粒物和臭氧的来源,特别是臭氧的前体物之…

#QT(智能家居界面上-图片插入)

1.IDE:QTCreator 2.实验 3.记录 (1)添加图片文件(图片资源文件,PNG格式为佳) (2)将图片放入工程文件夹 (3)按如下步骤将图片加入到工程中(pic.qrs文件夹) &…

CSS实现水波球

使用CSS实现水波球效果&#xff08;单个的水波球&#xff09; 效果如下&#xff1a; <template><div class"indicator" ref"indicator" :style"border-color:${borderCol}"><span class"text">{{ completion }}%…

云桥通+跨国游戏:SDWAN组网解析跨国游戏企业的成功案例

运气通曾服务过一家国际知名的游戏开发公司C&#xff0c;C公司的游戏广受年轻人欢迎&#xff0c;所以&#xff0c;他C公司也顺理成章地拥有全国玩家基础。由于游戏的在线特性和全球用户分布&#xff0c;C公司面临着跨国游戏服务器之间的苦恼——稳定问题和网络连接问题。他们希…

elementUI el-table中的对齐问题

用elementUI时&#xff0c;遇到了一个无法对齐的问题&#xff1a;代码如下&#xff1a; <el-table :data"form.dataList" <el-table-column label"验收结论" prop"checkResult" width"200"> <template slot-sco…

[MRCTF2020]Transform1

a[33]"9,10,15,23,7,24,12,6,1,16,3,17,32,29,11,30,27,22,4,13,19,20,21,2,25,5,31,8,18,26,28,14" b[33]"103,121,123,127,117,43,60,82,83,121,87,94,93,66,123,45,42,102,66,126,76,87,121,65,107,126,101,60,92,69,111,98,77" python代码 a3 [103…

共筑前端学习之路:欢迎加入我们的前端组件学习交流群

共筑前端学习之路&#xff1a;欢迎加入我们的前端组件学习交流群 随着信息技术的飞速发展&#xff0c;前端开发作为构建数字化世界的重要一环&#xff0c;越来越受到广大开发者的关注和重视。为了更好地服务于前端开发者&#xff0c;尤其是那些对前端组件充满热情的粉丝&#x…

数位dp 笔记

小技巧1:求区间[X, Y]可以转换为求F(Y) - F(X-1) F(X)表示0~X中满足条件的数字个数 小技巧2&#xff1a;可以用树的形式来看 遍历最高位&#xff0c;每一位分为两种情况&#xff1a;未达到上界和达到上界 如果走到右边最底端需加1 度的数量 求给定区间 [X,Y]中满足下列条件的…

堆和二叉树的动态实现(C语言实现)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ &#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1f33f;&#x1…

【pyinstaller打包记录】Windows系统打包exe后,onnxruntime报警告(Init provider bridge failed)

简介 PyInstaller 是一个用于将 Python 程序打包成可执行文件&#xff08;可执行程序&#xff09;的工具。它能够将 Python 代码和其相关的依赖项&#xff08;包括 Python 解释器、依赖的模块、库文件等&#xff09;打包成一个独立的可执行文件&#xff0c;方便在不同环境中运行…

从零学习Linux操作系统 第三十部分 部署Anisble

一、ansible实验环境的部署 主控机 更改服务器主机名 hostnamectl set-hostname westos_ansible.westos.org 主服务器需要能够实现上网 修改网卡使之能够上网 能ping通 代表可以连接外网 搭载本地软件仓库 并且挂载镜像 装载 dnf install httpd -y 让其开机启动并且…

MySQL王国:从基础到高级的完整指南【文末送书-28】

文章目录 MySQL从入门到精通第一部分&#xff1a;MySQL基础第二部分&#xff1a;MySQL进阶第三部分&#xff1a;MySQL高级应用 MySQL从入门到精通&#xff08;第3版&#xff09;&#xff08;软件开发视频大讲堂&#xff09;【文末送书-28】 MySQL从入门到精通 MySQL是一种开源…

WiFi模块赋能智能手表:拓展功能与提升连接性

随着科技的不断进步&#xff0c;智能手表正逐渐成为现代人生活中不可或缺的智能配饰。其中&#xff0c;WiFi模块的应用为智能手表带来了更多强大的功能和更高的连接性&#xff0c;为用户提供了更为便捷、智能化的使用体验。本文将深入探讨WiFi模块在智能手表中的应用。 远程通信…

vue实现xml,sql,JSON自动格式化高亮

实现xml&#xff0c;json&#xff0c;sql代码组件格式化高亮&#xff1a; 需要下载的依赖&#xff1a; <template><div class"box"><div class"top" v-if"flag"><span class"text">Theme:</span><…

微擎安装,卡在“安装微擎”界面

进入install.php&#xff0c;点击【在线安装】 下一步配置数据库&#xff0c;开始安装系统 然后显示进度条&#xff0c;进度条一闪而过 然后就没有进度条显示了&#xff0c;一直卡在这里 第一次等了好久&#xff0c; 删除目录下的文件&#xff0c;重装还是这样 再重启服务器&…

嵌入式蓝桥杯做题总结

第十二届省赛 按键代码 ——自认为比较巧妙&#xff0c;定时器3被设置为10ms进入一次中断&#xff0c;代替了HAL_Delay(10)的方法消抖&#xff1b; 运用状态机机思想实现检测多个按键检测——且分为两个状态&#xff0c;其中一个状态PB&#xff11;和PB&#xff12;的按键不…

Claude 3 模型列表

claude-3-opus-20240229 这个模型就好