dos汇编总结
前言:
计组课本需要学习汇编,可惜自己看不太懂。这里发现一个学习方法交给大家。其实新手可能一些抽象表示难理解,这里我把我学习的疑问点以及思路记录一下。
要点:
这里我以题为例给大家分析
- 输出输入对应大写字母的小写字母
我们需要简单知道常用寄存器的作用。
1.通用寄存器 ax,bx,cx(和loop绑定),dx
2. 输入输出寄存器:al (输入字符到的寄存器),dl输出字符到的寄存器
3. 指令寄存器:ah(用于输入指令的寄存器,如输入1为输入,2为输出,4ch为结束),
START:
MOV AH,1
INT 21HCMP AL,'A'
JL A1
CMP AL,'Z'
JG A1ADD AL,32
MOV DL,AL
MOV AH,2
INT 21H
A1:; 退出程序MOV AH, 4Ch ; AH=4Ch 表示程序退出INT 21H ; 调用 DOS 中断 21H 退出程序
- 首先我们需要输入字符,输入的字符默认在AL寄存器中
- 然后我们进行比较,如果输入的值小于A的对应Ascii值或者大于z的值就跳转到结束标志位。
- COP 接两个数,后面接比较调节,可以实现条件转移,就是c语言中的if语句。
- A1是自定义的标志位,相当于c语言中的函数。这里我定义了一个退出程序的语句。
- int21,中断信号,相当于执行操作的必要流程。
- Ah寄存器的作用,存入1代表输入,存入2代表输出。这个相当于一个调用系统功能的寄存器,和 INT 21一般连用。
1. 为什么汇编数字后要加h?
在汇编语言中,添加 “h” 后缀通常用于表示一个十六进制数。在汇编语言中,常用的数值表示法包括:
十进制表示法:例如,10 表示十进制整数。
十六进制表示法:在数值后面添加 “h” 后缀,例如,10h 表示十六进制整数,相当于十进制的16。
二进制表示法:在数值前面添加 “0b” 或 “0B” 前缀,例如,0b101 表示二进制整数,相当于十进制的5。
八进制表示法:在数值前面添加 “0” 前缀,例如,010 表示八进制整数,相当于十进制的8。
在汇编语言中,加上 “h”
后缀可以帮助编程人员清楚地知道一个值是以十六进制表示的,而不是十进制或其他进制。这种表示法的使用可以提高代码的可读性,特别是在处理内存地址、寄存器值和其他底层硬件相关的数值时。在大多数汇编语言中,编译器或汇编器可以根据上下文来确定数值的进制,但明确指定进制可以减少歧义。例如,10h 表示一个十六进制数,而 10 可能表示一个十进制数。这种约定有助于程序员正确理解和处理数据。
那么基础知识知道了,可以写一个变体题
输出A-Z 26个字母
START:; 初始化循环计数器 CXmov cx, 26mov dl,'A'loop_start:; 在这里放置循环体的代码;输出字符int 21h;加1add dl,1; 递减循环计数器 CXloop loop_start; 循环结束; 退出程序mov ah, 4Chint 21h
相关文章:
dos汇编总结
前言: 计组课本需要学习汇编,可惜自己看不太懂。这里发现一个学习方法交给大家。其实新手可能一些抽象表示难理解,这里我把我学习的疑问点以及思路记录一下。 要点: 这里我以题为例给大家分析 输出输入对应大写字母的小写字母 …...
四川玖璨电子商务有限公司:短视频有什么运营
根据短视频有什么运营,短视频的拍摄工具多种多样。无论是在手机上拍摄还是使用专业摄影设备,拍摄短视频的目的都是为了吸引观众的注意力和提升内容的质量。从小花费到高投入,在不断发展的短视频行业中,拍摄方法也得到了不断创新和…...
混合查询多家快递,快速掌握物流信息
在现代社会,快递服务已成为我们日常生活的重要组成部分。无论是购物还是文件传递,我们都需要快递服务的帮助。然而,不同的快递公司需要不同的查询方法,这无疑增加了我们的查询难度。因此,有没有一种方法可以让我们一次…...
独立站新手引流,谷歌SEO工具汇总
俗话说“工欲善其事,必先利其器”,做谷歌SEO也一样,要想做好并提升SEO效果,卖家就需要了解并利用好SEO工具。那我们今天就来盘点一下,常用的SEO工具有哪些吧~ 网站检测工具 1、PageSpeed Insights:这是谷…...
SpringMvc 与 Lombok 碰撞导致 JSON 反序列化失败
SpringMvc 与 Lombok 中 JSON 反序列化失败 错误复现_1 Data public class User{private Long id;private boolean isOk; }RequestMapping public R<User> getUser(RequestBody User user){return R.success(user); }// 前端传参 - {"id": 123456789,"i…...
怎么样显卡叠加,什么是NVIDIA 显卡 非公、公版、涡轮卡
1、显存叠加的问题,因为这个跟是否是深度学习无关: 先说一下显存叠加的问题,因为这个跟是否是深度学习无关:一台机器有多张显卡,显存不会叠加!显卡里面包含了显存、cache、计算单元、通信等,每…...
CentOS安装Elasticsearch集群
前言 之前使用的ES集群是其他公司维护,没有机会安装,后来做其他项目,终于有机会安装ES集群,简单记录一下备用 一、安装jdk 安装jdk1.8就可以,可以参考另一篇文章,这里就不细说了 二、修改系统参数 如果在…...
计算机专业毕业生指南
在大四毕业时,完成计算机毕业设计需要一定的计划和组织。以下是一些建议,帮助你在三个月内快速完成毕业设计: 选择一个合适的主题: 选择一个你感兴趣的主题,这将激发你的热情,使你更有动力完成项目。 确保…...
Springboot集成Docker并将镜像推送linux服务器
案例使用springboot项目,在IDEA 中集成Docker生成镜像,并将镜像发布到linux服务器 具体步骤如下: 1、Centos7安装Docker 更新系统的软件包列表 sudo yum update安装Docker所需的软件包和依赖项: sudo yum install docker完成…...
数字孪生与GIS:智慧城市的未来之路
数字孪生和地理信息系统(GIS)是两个在现代科技中崭露头角的概念,它们的融合为智慧城市项目带来了革命性的机会。本文将解释数字孪生为何需要融合GIS,并以智慧城市项目为例进行说明。 数字孪生是一种虚拟模型,它精确地…...
nas汇编程序的调试排错方法
nas汇编程序的调试排错方法: 1、查找是哪一步错了 2、查看对应的*.lst文件,本例中是"asmhead.lst" 3、根据*.lst文件的[ERROR #002]提示查看源码,改错。 4、重新运行编译,OK 1、查找是哪一步错了: nask.ex…...
【网络安全带你练爬虫-100练】第21练:批量获取文件夹中文件名
目录 一、目标1:使用python爬取指定文件夹中的文件名 二、目标2:在文件夹指定目录打开命令行 一、目标1:使用python爬取指定文件夹中的文件名 方法一:使用os模块 将/path/to/folder替换为实际的文件夹路径。os.listdir()函数用…...
Unittest自动化测试框架vs Pytest自动化测试框架
引言 前面一篇文章Python单元测试框架介绍已经介绍了python单元测试框架,大家平时经常使用的是unittest,因为它比较基础,并且可以进行二次开发,如果你的开发水平很高,集成开发自动化测试平台也是可以的。而这篇文章…...
PHP8的数组-PHP8知识详解
今天开始学习数组, 本文主要讲了三点:什么是数组、php8中数组的改进、数组函数。 一、什么是数组 在PHP8中,数组是非常重要的数据类型。相对于其他的数据类型,数组更像一种结构,而这种结构可以储存一系列数值。 数组…...
数据仓库_维度表的两大分类
最近看一篇文章对维度表进行了分类,记录一下。 维度表主要分为两类高基数维度表和低基数维度表。 高基数维度数据 一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。 低基数维度数据 一般是配置表,比如枚举值对应的中文含…...
4、DVWA——文件包含
文章目录 一、文件包含概述二、low2.1 源码分析2.2 通关分析 三、medium3.1 源码分析3.2 通关思路 四、high4.1 源码分析4.2 通关思路 五、impossible 一、文件包含概述 文件包含是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(i…...
产品经理如何进行需求管理
产品经理在进行需求管理时,可以遵循以下步骤: 1. 确定需求目标:明确产品的愿景和目标,确定需求管理的方向和重点。 2. 收集需求:与利益相关者(包括用户、业务部门、技术团队等)沟通,…...
【从0学习Solidity】2. 值类型详解
Solidity极简入门: 2. 值类型 博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发…...
框架分析(9)-Hibernate
框架分析(9)-Hibernate 专栏介绍Hibernate特性对象关系映射(ORM)数据库连接和事务管理查询语言(HQL)缓存机制透明的持久化操作对象的延迟加载事务管理 优缺点优点简化数据库操作跨数据库平台高度可定制性缓…...
JavaScript中的原型链(prototype chain)
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ JavaScript中的原型链⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏…...
全志T3工业级评估板深度评测:国产化、接口性能与Docker容器化实践
1. 开箱初探:一份诚意满满的工业级“全家桶”作为一名在嵌入式硬件开发领域摸爬滚打了十多年的老工程师,我经手过的评估板、开发板少说也有上百款。从早期的ARM9到现在的多核A系列、RISC-V,每次开箱都像是一次探险。但这次拿到创龙科技&#…...
OpenCost:Kubernetes 成本监控,开源的云资源费用分析
OpenCost:Kubernetes 成本监控,开源的云资源费用分析 随着企业将越来越多的工作负载迁移到 Kubernetes,一个新的管理挑战随之浮现:到底哪个团队、哪个应用在花钱? 公有云账单只能告诉你整个集群的月度费用,…...
3个步骤掌握LevelUI:可视化LevelDB数据库管理新体验
3个步骤掌握LevelUI:可视化LevelDB数据库管理新体验 【免费下载链接】levelui A GUI for LevelDB management based on atom-shell. 项目地址: https://gitcode.com/gh_mirrors/le/levelui 还在为LevelDB的命令行操作而烦恼吗?LevelUI为你带来了全…...
嵌入式存储优化实战:如何为你的AUTOSAR FEE模块选择合适的FeeMainFunctionPeriod与FeeMaxBytesPerCycle?
嵌入式存储优化实战:AUTOSAR FEE模块参数配置与性能调优 在汽车电子控制单元(ECU)的开发中,存储管理一直是影响系统性能和可靠性的关键因素。AUTOSAR的Flash EEPROM Emulation(FEE)模块作为非易失性数据存储…...
MarkdownViewer++:Notepad++终极Markdown实时预览插件完整指南
MarkdownViewer:Notepad终极Markdown实时预览插件完整指南 【免费下载链接】MarkdownViewerPlusPlus A Notepad Plugin to view a Markdown file rendered on-the-fly 项目地址: https://gitcode.com/gh_mirrors/ma/MarkdownViewerPlusPlus 你是否曾在Notepa…...
【Perplexity商业搜索避坑白皮书】:5类典型误搜场景、4种权威信源验证法,附Gartner认证验证清单
更多请点击: https://kaifayun.com 第一章:【Perplexity商业搜索避坑白皮书】:5类典型误搜场景、4种权威信源验证法,附Gartner认证验证清单 高频误搜场景识别 在企业级商业情报检索中,以下五类误搜行为显著降低决策可…...
经典的网格寻路问题实例分析
经典的网格寻路问题消除墙砖 这一设置会导致地形发生变化,增加问题处理的难度。让我们先去掉这一要求,这样题目就简化成了经典的 网格寻路问题:给你一个 的网格,其中每个单元格不是 (空)就是 (障…...
G-Helper终极指南:3分钟告别Armoury Crate臃肿,释放华硕笔记本真正性能
G-Helper终极指南:3分钟告别Armoury Crate臃肿,释放华硕笔记本真正性能 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, Pr…...
FFmpeg Batch AV Converter 实战指南:告别命令行,拥抱高效视频批量处理
FFmpeg Batch AV Converter 实战指南:告别命令行,拥抱高效视频批量处理 【免费下载链接】ffmpeg_batch FFmpeg Batch AV Converter 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpeg_batch FFmpeg Batch AV Converter是一款强大的图形界面视频…...
新手也能看懂的CTF靶场通关笔记:从.htaccess上传到SUID提权,手把手复现BUUCTF Week5
新手也能看懂的CTF靶场通关笔记:从.htaccess上传到SUID提权,手把手复现BUUCTF Week5 第一次接触CTF比赛时,看到那些复杂的漏洞利用链总有种"看天书"的感觉。直到自己动手在虚拟机里复现了整个攻击流程,才真正理解每个技…...
