北工大汇编——子程序设计

news2024/11/23 3:54:27

题目要求

完成一个字母或数制之间的转化程序,主程序分别具有 5种可选择的子功能,按相应的宇符可分别进入相应的子功能并在屏幕上显示结果,按“q”键退出。子功能分别为: 1) 实现小写字母向大写字母的转换;2)实现大写字母向小写字母的转换;3)实现二进制数向十六进制数的转换;4)实现十六进制数向二进制数的转换:5)实现十六进制数向十进制数的转换。

在这里插入图片描述

完整代码

DATAS SEGMENT
    ;此处输入数据段代码
    msg DB 'please input 1-5 q:quit$'  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    LOP:
	    MOV AH, 1 
	    INT 21H
	
	    CMP AL, 'q'
	    JZ EXIT
	
	    CMP AL, '1' 
	    JB Err
	    CMP AL, '5'
	    JA Err
	
	    SUB AL, 30H
	    MOV BX, AX
	    
	    CMP AL,1
		JE FUNC1
		CMP AL,2
		JE FUNC2
		CMP AL,3
		JE FUNC3
		CMP AL,4
		JE FUNC4
		CMP AL,5
		JE FUNC5 
    JMP LOP
    
    
    
    FUNC1:
    	MOV DL, 0DH;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
	    
    	MOV AH, 1 
    	INT 21H
    	
    	CMP AL, 'a'
    	JB LOP
    	CMP AL, 'z'
    	JA LOP
    	
    	sub AL, 32
    	
    	MOV DL,AL
		MOV AH,02H
		INT 21H
		
		MOV DL, 0DH ;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
    JMP LOP
    
    
    
    FUNC2:
    	MOV DL, 0DH;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
	    
    	MOV AH, 1 
    	INT 21H
    	
    	CMP AL, 'A'
    	JB LOP
    	CMP AL, 'Z'
    	JA LOP
    	
    	add AL, 32
    	
    	MOV DL,AL
		MOV AH,02H
		INT 21H
		
		MOV DL, 0DH ;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
    JMP LOP
    
    
    
    FUNC3:
    	MOV DL, 0DH;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
	    
	    MOV DL, 0
	    MOV CL, 4
	    
	    FUNC3INPUT:
	    	MOV AH, 1 
	    	INT 21H
	    	
	    	CMP AL, '0'
	    	JB LOP
	    	CMP AL, '1'
	    	JA LOP
	    	
	    	JE FUNC3LOP1
	
	    	ROL DL,1
			OR DL,0
			
			JMP FUNC3LOP2
			
		FUNC3LOP1:
			ROL DL,1
			OR DL,1
			
		FUNC3LOP2:
			DEC CL
			CMP CL, 0
			JE FUNC3DISPLAY
			JMP FUNC3INPUT
			
		FUNC3DISPLAY:
			MOV CL, DL
			MOV DL, 0DH;回车换行
		    MOV AH, 02
		    INT 21H
		    MOV DL, 0AH
		    MOV AH, 02
		    INT 21H
		    
		    MOV DL, CL
		
			CMP DL, 0
			JB LOP
			CMP DL, 9
			JA FUNC3LOP3
			
			ADD DL, '0'
			
			JMP FUNC3LOP4
		
		FUNC3LOP3:
			ADD DL, 37H
			
		FUNC3LOP4:
			MOV AH,02H
			INT 21H
		
		MOV DL, 0DH;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
    JMP LOP
    
    
    
    
    FUNC4:
    	MOV DL, 0DH;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
	    
	    FUNC4INPUT:
	    	MOV AH, 1
	    	INT 21H
	    	
	    	CMP AL, '0'
	    	JB LOP
	    	CMP AL, '9'
	    	JA FUNC4CMP
	    	
	    	SUB AL, '0'
	    	MOV CH,8
			MOV BL,AL
	    	JMP FUNC4PRINT
	    	
	    FUNC4CMP:
	    	CMP AL, 'a'
	    	JB LOP
	    	CMP AL, 'f'
	    	JA LOP
	    	
	    	SUB AL, 'a'
	    	ADD AL, 10
	    	MOV CH,8
			MOV BL,AL
	    	JMP FUNC4PRINT
	    	
	    FUNC4PRINT:
	    	ROL BL, 1
	    	MOV DL, BL
	    	AND DL,1
			ADD DL, '0'
			
			MOV AH,02H
			INT 21H
			
		 	DEC CH
			JZ LOPPRINT
			JMP FUNC4PRINT
		
	LOPPRINT:
		MOV DL, 0DH;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
    JMP LOP
    
    
    
    
    FUNC5:
    	MOV DL, 0DH;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
	    
	    FUNC5INPUT:
	    	MOV AH, 1
	    	INT 21H
	    	
	    	CMP AL, '0'
	    	JB LOP
	    	CMP AL, '9'
	    	JA FUNC5CMP
	    	
	    	SUB AL, '0'
	    	MOV CH,8
			MOV BL,AL
	    	JMP FUNC5PRINT
	    	
	    FUNC5CMP:
	    	CMP AL, 'a'
	    	JB LOP
	    	CMP AL, 'f'
	    	JA LOP
	    	
	    	SUB AL, 'a'
	    	ADD AL, 10
	    	MOV CH,8
			MOV BL,AL
	    	JMP FUNC5PRINT
	    	
	    FUNC5PRINT:
			MOV AH, 0
			MOV BL, 10
			DIV BL
			
			MOV DH, AH
			CMP AL, 0
			JE NOTEN
			
			MOV DL,AL      
			ADD DL, '0'
			
			MOV AH,02H
			INT 21H
			
		NOTEN:	                        
			MOV DL,DH
			ADD DL,'0'
			MOV AH,02H
			INT 21H
			
		MOV DL, 0DH;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
    JMP LOP
	
	ERR:
	    MOV DL, 0DH ;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
	    
	    MOV DX, OFFSET msg
	    MOV AH, 09
	    INT 21H
	    
	    MOV DL, 0DH ;回车换行
	    MOV AH, 02
	    INT 21H
	    MOV DL, 0AH
	    MOV AH, 02
	    INT 21H
	    
	    JMP LOP
	
	EXIT:
	    MOV AH,4CH
	    INT 21H
CODES ENDS
    END START





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

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

相关文章

Cesium与Threejs融合

融合demo 一、简介 将Cesium与three.js进行融合,从而是3d具备大场景GIS能力,使GIS具备3d能力。 关键步骤如下: 1、局部坐标系定义和坐标转换 2、相机同步 3、事件同步 二、代码 <script setup lang="ts"> import { onMounted } from vue import @ano…

批量剪辑的视频重复率高怎么去重?有可以批量剪出原创视频、脚本创作、矩阵分发的软件推荐吗?

对于批量剪辑生成的视频&#xff0c;大多朋友都会为重复率发愁&#xff0c;速度是快了&#xff0c;但是视频都是重复的&#xff0c;发出去效果不好又有什么用呢&#xff1f; 网上也能看到许多人提出&#xff0c;对素材进行改变&#xff0c;比如更换不一样的BGM&#xff0c;修改…

【MongoDB】docker部署社区版(一)

0、背景介绍 项目中使用MongoDB了&#xff0c;服务器挂掉&#xff0c;自己在本地搭一个试试。 1、版本选择 首先有社区版和和商业版。我选的是社区版。链接&#xff1a;https://hub.docker.com/r/mongodb/mongodb-community-server/tags 1.1、标签选择 看到标签有两个大类…

23 DRF快速入门+部分源码分析

文章目录 前言知识前后端不分离前后端分离RESTful APIHTTP请求方法详解部分状态码&#xff08;常见&#xff09; Django补充知识创建多个app 安装安装完后的配置 Drf框架介绍相比于Django的优势基础介绍--快速入门--了解框架的大概实现Serializers基础准备编写Serializers.py 以…

S1FD40A180H-ASEMI快恢复二极管S1FD40A180H

编辑&#xff1a;ll S1FD40A180H-ASEMI快恢复二极管S1FD40A180H 型号&#xff1a;S1FD40A180H 品牌&#xff1a;ASEMI 封装&#xff1a;TO-247 特性&#xff1a;大功率、快恢复二极管 正向电流&#xff1a;40A 反向耐压&#xff1a;1800V 恢复时间&#xff1a;<300n…

【全志V3s】SPI NAND Flash 驱动开发

文章目录 一、硬件介绍V3s的启动顺序 二、驱动支持U-Boot驱动主线 Linux 驱动已经支持 三、烧录工具 xfel四、构建U-Boot&#xff08;官方的Uboot&#xff09;先编译一下开始spi nand flash 代码层面的适配修改menuconfig配置ARM architecture配置Support for SPI Nand Flash o…

Windows的远程桌面 Server+frp 配置

前言 通过华为云耀服务器给的优惠&#xff0c;购买了一个镜像实例&#xff0c;用来配置远程桌面服务&#xff0c;采用frp进行内网穿透&#xff0c;云服务环境为Ubuntu22.04。 配置 1.服务器端frp配置 cd /usr/local # 进入默认的程序安装路径 wget clone https://github…

前端VUE---JS实现数据的模糊搜索

实现背景 因为后端实现人员列表返回&#xff0c;每次返回的数据量在100以内&#xff0c;要求前端自己进行模糊搜索 页面实现 因为是实时更新数据的&#xff0c;就不需要搜索和重置按钮了 代码 HTML <el-dialogtitle"团队人员详情":visible.sync"centerDi…

一文了解亚马逊云科技适用于 Amazon Lightsail 的托管数据库

Amazon Lightsail 是亚马逊云科技提供的一种易上手使用、月度价格经济实惠&#xff0c;并包括了计算实例、容器、存储、数据库的虚拟专用服务器。在创建时可以进行业务蓝图选择&#xff0c;可选择包含多种操作系统&#xff08;Linux/Windows 等&#xff09;或操作系统加上典型应…

使用Python来写模拟Xshell实现远程命令执行与交互

一、模块 这里使用的是 paramiko带三方库 pip install paramiko二、效果图 三、代码实现&#xff08;这里的IP&#xff0c;用户名&#xff0c;密码修改为自己对应服务器的&#xff09; import paramiko import timeclass Linux(object):# 参数初始化def __init__(self, ip, us…

vue项目打包_以生产环境prod模式打包_vue-cli-service 不是内部或外部命令,也不是可运行的程序---vue工作笔记0025

打开命令行: 首先执行npm install 不执行会报错: npm run build:prod --scripts-prepend-node-pathauto 然后再这样执行就是以生产环境模式打包了.

leetcode1669. 合并两个链表(java)

合并两个链表 题目描述指针代码演示 题目描述 难度 - 中等 leetcode1669. 合并两个链表 给你两个链表 list1 和 list2 &#xff0c;它们包含的元素分别为 n 个和 m 个。 请你将 list1 中下标从 a 到 b 的全部节点都删除&#xff0c;并将list2 接在被删除节点的位置。 下图中蓝色…

Python实现猎人猎物优化算法(HPO)优化随机森林分类模型(RandomForestClassifier算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的…

sql explain

目录 1. sql explain每个字段对应的含义1.1. id1.2. select_type1.3. table1.4. partitions1.5. type1.6. possible_keys1.7. key1.8. key_len1.9. ref1.10. rows1.11. Extra 索引实践联合索引最左列原则全值匹配不建议在索引列上做任何操作, 否则索引会失效转而全表扫描尽量使…

2023 ICPC Asia EC网络预选赛第一场赛题

文章目录 2023 ICPC Asia EC Online Qualifier Round 1A Qualifiers Ranking RulesB StringC Multiply Then PlusD TransitivityE Magical PairF Alice and BobG Spanning TreeH Range Periodicity QueryI Pa?sWorDJ Minimum Manhattan DistanceK Minimum Euclidean DistanceL…

Openresty(二十二)ngx.balance和balance_by_lua终结篇

一 灰度发布铺垫 ① init_by_lua* init_by_lua init_by_lua_block 特点: 在openresty start、reload、restart时执行,属于master init 阶段机制&#xff1a; nginx master 主进程加载配置文件时&#xff0c;运行全局Lua VM级别上的参数指定的Lua代码场景&#xff1a; …

一文快速创建前端react项目

目前React是最受欢迎和广泛使用的JavaScript库之一。许多知名的公司和组织都在使用React来构建它们的Web应用程序&#xff0c;包括Facebook&#xff0c;Netflix等。学习好React将会使你能够获得更多的就业机会和职业发展机会。 要快速创建React项目&#xff0c;你可以使用Creat…

记录一次OSSClient使用不当导致的OOM排查过程

首发&#xff1a;公众号《赵侠客》 前言 最近线上有个比较边缘的项目出现OOM了&#xff0c;还好这个项目只是做一些离线的任务处理&#xff0c;出现OOM对线上业务没有什么影响&#xff0c;这里记录一下排查的过程 Dump日志查看 项目配置的主要JVM参数设置如下&#xff1a; …

SAP入门到放弃系列之QM质量检验流程概述

目录 一、流程概述二、操作步骤概述2.1 主数据维护2.2 业务操作 一、流程概述 质量检验流程-Inspection Process Flow,通常由于预先设定的一些规则条件自动触发或者手工触发&#xff0c;例如库存地之间的调拨、生产完工入库检验、采购入库的检验、客户交货前检验等等。另外还有…

GMS地下水数值模拟丨GMS各模块、三维地质模型构建及与MODFLOW耦合、地下水流动数值模拟及报告编制、地下水溶质运移模型、反应性溶质运移等

目录 第一部分 地下水数值模拟理论模块 第二部分 地下水数值模拟数据收集、准备及预处理 第三部分 GMS各模块实践 第四部分 三维地质模型构建及与MODFLOW耦合 第五部分 地下水流动数值模拟及报告编制 第六部分 地下水溶质运移模型 第七部分 反应性溶质运移 更多应用 以…