当前位置: 首页 > news >正文

微机原理复习总结6:汇编语言程序设计

本篇博客主要分享几道汇编语言例题

  1. 编写一完整的程序,从键盘输入一组字符,直到输入“0”为止,当输入是小写字母时,则修改为大写字母,输入的字符存放在string为首址的存储单元中。

data        segment    ;数据段定义
string  db  100 dup(?)
data      ends
code     segment    
assume  cs:code,ds:data    ;定义寄存器与段关系
start:    
mov  ax,data
mov  ds,ax
mov  di,offset string
again:          ;again定义
mov  ah,1       ;1->ah
int  21h
cmp  al,'0'   ;比较al,'0'
je  exit       ;二者相等,转到exit
cmp  al,'a'    ;比较al,'a'
jb  next       ;al<'a',转到next
cmp  al,'z'    ;比较al,'a'
ja  next       ;al>'z',转到next
sub  al,20h    ;al=al-20h(大小写转化)
next:         ;next定义
mov  [di],al
inc  di        ;di=di-1
jmp  again     ;跳转again
exit:         ;exit定义
mov  ah,4ch
int  21h
code     ends
end  start
  1. 设内存缓冲区SOURCE中有100个字节数据99H,编写一完整的程序,将它传送到TARGET开始的存储单元中。

data   segment
source   db  100   dup  (99h)
target   db  100   dup  (?)
data   ends
code   segmentassume  cs:code, ds:data, es:data
start :mov   ax, datamov   ds, axmov   es, axmov   si, offset  sourcemov   di, offset  targetmov   cx, 100cldrep  movsb mov    ah,  4chint    21h
code   endsend start

3.设内存缓冲区BUF中存有50个字符,编写一完整的程序,统计数字字符的个数,将结果保存在N_DIGIT单元,其他类型字符个数保存在N_OTHER单元。(10分)。

提示:数据结构定义如下:

DATA SEGMENT

BUF DB ‘AJUuiy898@#EWDFyuii*&^9807jk...’; 共50个字符

N_DIGIT DB ? ;保存字符串中数字字符个数

N_OTHER DB ? ;保存其他类型字符个数

DATA ENDS

DATA    SEGMENTBUF   DB ‘AJUuiy898@#EWDFyuii*&^9807jk...’; 共50个字符
N_DIGIT  DB  ? ;保存字符串中数字字符个数
N_OTHER  DB  ? ;保存其他类型字符个数
DATA    ENDScode   segmentassume  cs:code, ds:data,
start :mov   ax, datamov   ds, axmov  cx,50  ;cx保存字符串长度lea  si,buf   ;指向第一个字符
countchar:mov  al,[si]
cmp  al,30h
jb  other
cmp  al,39h
ja  other
inc  N_DIGIT
jmp  continue
other:inc  N_OTHER
continue:
inc siloop countchar
mov    ah,  4chint    21hcode   ends
end start

4、编程将存放在HEXN中的一位十六进制数转换为ASCII码,并存入ASCN中。数据段如下:(10分)

DATA SEGMENT

HEXN DB

ASCN DB ?

DATA ENDS

DATA    SEGMENT
HEXN  DB  ?
ASCN  DB  ?
DATA    ENDS
CODE    SEGMENT
ASSUME   CS:CODE,DS:DATA 
START:   MOV    AX,DATAMOV    DS,AXMOV    AL,HEXNCMP    AL,9           JBE    LP1ADD AL,7LP1:ADD  AL,30HMOV  ASCN,ALMOV  AH,4CHINT    21H
CODE       ENDSEND     START

5.设内存缓冲区BUF中存有100个字符,写一个子程序,统计BUF中大写字符、小写字符个数,将结果分别保存在N_CHAR1、N_CHAR2单元。(10分)。提示:数据结构定义如下:

DATA SEGMENT

BUF DB ‘AJUuiy898@#EWDFyuii*&^9807jk...’; 共100个字符

N_CHAR1 DB ? ;保存字符串中大写字符个数

N_CHAR2 DB ? ;保存字符串中小写字符个数

DATA ENDS

p1 proc far
push cx
push sipush axmov cx,100  ;cx保存字符串长度lea si,buf  ;指向第一个字符
countchar:mov al,[si]cmp al,’A'
jb continuecmp al,’Z’ja n_charinc  byte ptr [N_CHAR1]jmp continue
n_char:cmp al,’a’jb continuecmp al,’z’ja continueinc  byte ptr [N_CHAR2]
continue:
inc siloop countcharpop axpop sipop cxret
p1 endp

相关文章:

微机原理复习总结6:汇编语言程序设计

本篇博客主要分享几道汇编语言例题编写一完整的程序&#xff0c;从键盘输入一组字符&#xff0c;直到输入“0”为止&#xff0c;当输入是小写字母时&#xff0c;则修改为大写字母&#xff0c;输入的字符存放在string为首址的存储单元中。data segment ;数据段定义 st…...

计算机网络 部分原理和过程

下面是一台计算机 Ping 和不在同一 IP 网络上的另一台计算机的全过程&#xff1a; 该计算机首先确定要 Ping 的目标 IP 地址&#xff0c;并检查该 IP 地址是否与本地 IP 地址在同一 IP 网络上。如果目标 IP 地址与本地 IP 地址不在同一 IP 网络上&#xff0c;则需要通过路由器…...

C++实现链表

C实现链表 众所周知&#xff0c;C/C语言实现的链表是由一个一个的结点构成&#xff0c;每个结点分为数据域和指针域&#xff0c;指针域中存储了其后继结点的地址&#xff0c;通过地址来访问下一个结点。 链表是一系列节点串联形成的数据结构&#xff0c;链表存储有序的元素集合…...

MySQL索引篇

文章目录说明&#xff1a;索引篇一、索引常见面试题按数据结构按物理存储分类按字段特性分类按字段个数分类索引缺点&#xff1a;什么时候适用索引&#xff1f;什么时候不需要创建索引&#xff1f;常见优化索引的方法&#xff1a;发生索引失效的情况&#xff1a;二、从数据页角…...

Ardiuno-交通灯

LED交通灯实验实验器件&#xff1a;■ 红色LED灯&#xff1a;1 个■ 黄色LED灯&#xff1a;1 个■ 绿色LED灯&#xff1a;1 个■ 220欧电阻&#xff1a;3 个■ 面包板&#xff1a;1 个■ 多彩杜邦线&#xff1a;若干实验连线1.将3个发光二极管插入面包板&#xff0c;2.用杜邦线…...

Leetcode.1234 替换子串得到平衡字符串

题目链接 Leetcode.1234 替换子串得到平衡字符串 Rating &#xff1a; 1878 题目描述 有一个只含有 Q, W, E, R四种字符&#xff0c;且长度为 n 的字符串。 假如在该字符串中&#xff0c;这四个字符都恰好出现 n/4次&#xff0c;那么它就是一个「平衡字符串」。 给你一个这样…...

聚类算法之K-means算法详解

文章目录 什么是聚类k-means算法简介牧师-村民模型算法步骤伪代码流程描述手动实现优缺点优点缺点算法调优与改进数据预处理合理选择 K 值手肘法Gap Statistic(间隔统计量)轮廓系数法(Silhouette Coefficient)Canopy算法拍脑袋法采用核函数K-means++ISODATA参考文献<...

电话呼入/呼出CSFB流程介绍

MO CSFB 注册的LAI跟SYS_INFO不同会触发LU流程;LU流程结束后,判断LOCATION UPDATING ACCEPT消息中的"Follow-on proceed"参数状态。(1)如果IE消息中有"Follow-on proceed",终端直接发送CM Service Request; (2)如果IE消息中没有"Follow-on procee…...

【比赛合集】9场可报名的「创新应用」、「程序设计」大奖赛,任君挑选!

CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号同时会推送最新的比赛消息&#xff0c;欢迎关注&#xff01;更多比赛信息见 CompHub主页 或 点击文末阅读原文以下信息仅供参考&#xff0c;以比赛官网为准目录创新应用赛&…...

剑指 Offer 27. 二叉树的镜像

剑指 Offer 27. 二叉树的镜像 难度&#xff1a;easy\color{Green}{easy}easy 题目描述 请完成一个函数&#xff0c;输入一个二叉树&#xff0c;该函数输出它的镜像。 例如输入&#xff1a; 镜像输出&#xff1a; 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,…...

RPC编程:RPC概述和架构演变

RPC编程系列文章第一篇一&#xff1a;引言1&#xff1a;本系列文章的目标2&#xff1a;RPC的概念二&#xff1a;架构的演变过程1&#xff1a;单体架构1)&#xff1a;概念2)&#xff1a;特点3)&#xff1a;优缺点2&#xff1a;单体架构水平扩展1)&#xff1a;水平拓展的含义2)&a…...

神经网络训练时只对指定的边更新参数

在神经网络中&#xff0c;通常采用反向传播算法来计算网络中各个参数的梯度&#xff0c;从而进行参数更新。在反向传播过程中&#xff0c;所有的参数都会被更新。因此&#xff0c;如果想要只更新指定的边&#xff0c;需要采用特殊的方法。 一种可能的方法是使用掩码&#xff0…...

Python列表list操作-遍历、查找、增加、删除、修改、排序

在使用列表的时候需要用到很多方法&#xff0c;例如遍历列表、查找元素、增加元素、删除元素、改变元素、插入元素、列表排序、逆序列表等操作。 1、遍历列表 遍历列表通常采用for循环的方式以及for循环和enumerate&#xff08;&#xff09;函数搭配的方式去实现。 1&#xff…...

Python开发-学生管理系统

文章目录1、需求分析2、系统设计3、系统开发必备4、主函数设计5、 学生信息维护模块设计6、 查询/统计模块设计7、排序模块设计8、 项目打包1、需求分析 学生管理系统应具备的功能&#xff1a; ●添加学生及成绩信息 ●将学生信息保存到文件中 ●修改和删除学生信息 ●查询学生…...

大数据处理 - Trie树/数据库/倒排索引

Trie树Trie树的介绍和实现请参考 树 - 前缀树(Trie)适用范围: 数据量大&#xff0c;重复多&#xff0c;但是数据种类小可以放入内存基本原理及要点: 实现方式&#xff0c;节点孩子的表示方式扩展: 压缩实现。一些适用场景&#xff1a;寻找热门查询: 查询串的重复度比较高&#…...

jjava企业级开发-01

一、Spring容器演示 采用Spring配置文件管理Bean 1、创建Maven项目 修改项目的Maven配置 2、添加Spring依赖 在Maven仓库里查找Spring框架&#xff08;https://mvnrepository.com&#xff09; 同上添加其他依赖 <?xml version"1.0" encoding"UTF-8…...

「事务一致性」事务afterCommit

在事务还没有执行完消息就已经发出去了, 导致后续的一些数据或逻辑上的问题产生。场景如下&#xff1a;异步-记录日志&#xff1a;当事务提交后&#xff0c;再记录日志。发送mq消息&#xff1a;只有业务数据都存入表后&#xff0c;再发mq消息。方案1. 利用TransactionSynchroni…...

【深度学习编译器系列】2. 深度学习编译器的通用设计架构

在【深度学习编译器系列】1. 为什么需要深度学习编译器&#xff1f;中我们了解到了为什么需要深度学习编译器&#xff0c;和什么是深度学习编译器&#xff0c;接下来我们把深度学习编译器这个小黑盒打开&#xff0c;看看里面有什么东西。 1. 深度学习编译器的通用设计架构 与…...

图解操作系统

硬件结构 CPU是如何执行程序的&#xff1f; 图灵机的工作方式 图灵机的基本思想&#xff1a;用机器来模拟人们用纸笔进行数学运算的过程&#xff0c;还定义了由计算机的那些部分组成&#xff0c;程序又是如何执行的。 图灵机的基本组成如下&#xff1a; 有一条「纸带」&am…...

【发版或上线项目保姆级心得】

第一步&#xff1a;先在正式环境创建数据库/新增表格或者字段 在数据库表中增加字段/表格&#xff0c;不会报错。 但是切记不要过早数据库字段/表格或者删除字段/表格 第二步&#xff1a;修改配置文件 先将正式环境需要的配置给写好&#xff0c;包括但不仅限于数据库配置、…...

Graphormer实际作品分享:10个典型分子(CCO/c1ccccc1/C=O等)预测结果集

Graphormer实际作品分享&#xff1a;10个典型分子预测结果集 1. 模型介绍与核心能力 Graphormer是一种基于纯Transformer架构的图神经网络&#xff0c;专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。这个模型在OGB(Open Graph Benchmark)和PCQM4M等分子基准测试…...

Qwen3-14B惊艳效果展示:RTX 4090D上流畅运行14B模型的真实体验

Qwen3-14B惊艳效果展示&#xff1a;RTX 4090D上流畅运行14B模型的真实体验 1. 开箱即用的高性能体验 当我第一次在RTX 4090D上启动这个Qwen3-14B私有部署镜像时&#xff0c;最直接的感受就是"快"。从执行启动命令到WebUI界面完全加载&#xff0c;整个过程不到2分钟…...

Windows加域必看:如何用PowerShell一键指定OU路径(附完整代码)

Windows域管理自动化&#xff1a;PowerShell指定OU路径的终极指南 在大型企业IT环境中&#xff0c;计算机加域操作从来不是单次事件&#xff0c;而是需要批量执行的常规运维任务。传统手动操作不仅效率低下&#xff0c;还容易因人为失误导致计算机被放入错误的组织单元(OU)。想…...

lingbot-depth-vitl14镜像兼容性说明:insbase-cuda124-pt250-dual-v7底座深度适配细节

lingbot-depth-vitl14镜像兼容性说明&#xff1a;insbase-cuda124-pt250-dual-v7底座深度适配细节 1. 引言&#xff1a;为什么你需要关注这个深度估计模型&#xff1f; 如果你正在做机器人、自动驾驶或者AR/VR相关的项目&#xff0c;肯定遇到过这样的问题&#xff1a;怎么让机…...

如何用StreamCap实现多平台直播内容的自动捕获与管理

如何用StreamCap实现多平台直播内容的自动捕获与管理 【免费下载链接】StreamCap Multi-Platform Live Stream Automatic Recording Tool | 多平台直播流自动录制客户端 基于FFmpeg 支持监控/定时/转码 项目地址: https://gitcode.com/gh_mirrors/st/StreamCap 在数字…...

RWKV7-1.5B-G1A快速上手:5分钟部署你的轻量级文本生成助手

RWKV7-1.5B-G1A快速上手&#xff1a;5分钟部署你的轻量级文本生成助手 1. 为什么选择RWKV7-1.5B-G1A 如果你正在寻找一个轻量级但功能强大的文本生成模型&#xff0c;RWKV7-1.5B-G1A绝对值得考虑。这个基于RWKV-7架构的模型在1.5B参数规模下展现了出色的性能&#xff0c;特别…...

从零部署到实战标注:SUSTechPOINTS 3D点云标注平台全流程指南

1. 为什么选择SUSTechPOINTS进行3D点云标注 在自动驾驶研发过程中&#xff0c;3D点云标注是个绕不开的苦差事。我最早用过不少商业标注工具&#xff0c;不是价格贵得离谱&#xff0c;就是功能残缺不全。直到去年团队接手一个校企合作项目&#xff0c;才发现南方科技大学开源的这…...

别再用asyncio硬扛高并发了!无GIL环境下Python原生多线程性能翻倍的6个核心调优参数

第一章&#xff1a;Python无锁GIL环境下的并发模型演进全景Python长期以来受全局解释器锁&#xff08;GIL&#xff09;制约&#xff0c;导致多线程无法真正并行执行CPU密集型任务。近年来&#xff0c;随着CPython 3.12正式引入实验性“无GIL构建选项”&#xff08;--without-py…...

公交客流统计摄像机系统,能替代监控摄像头吗?

公交车内乘客流量大&#xff0c;安全隐患较多&#xff0c;多年来监控摄像头已经成为车内的标配。随着科技技术的进步&#xff0c;如今公交客流统计摄像机系统&#xff0c;也逐渐部署到了各地公交上。那么公交客流统计摄像机系统&#xff0c;能替代监控摄像头吗&#xff1f;如今…...

Starry Night Art Gallery效果展示:黄金渐变按钮交互+实时生成反馈

Starry Night Art Gallery效果展示&#xff1a;黄金渐变按钮交互实时生成反馈 1. 沉浸式艺术体验&#xff1a;当AI遇见文艺复兴 想象一下&#xff0c;你走进的不是一个冰冷的AI工具界面&#xff0c;而是一座数字艺术殿堂。四周是深邃的墨蓝色背景&#xff0c;如同梵高笔下的夜…...