微机原理分支程序设计 将大写字母转换为小写字母

合集下载

汇编语言代码转换 大小写,二进制,十进制,16进制的相互转换

汇编语言代码转换 大小写,二进制,十进制,16进制的相互转换

《微机原理与接口技术》课程设计(学年论文)说明书课题名称:代码转换程序设计(A3-2)学生学号:专业班级:学生姓名:学生成绩:指导教师:***课题工作时间: 2011-6-13 至 2011-6-18武汉工程大学教务处制填写说明:1. 一、二、三项由指导教师在课程设计(学年论文)开始前填写并交由学生保管;2. 四、五两项由学生在完成课程设计后填写,并将此表与课程设计一同装订成册交给指导教师;3. 成绩评定由指导教师按评定标准评分。

4. 此表格填写好后与正文一同装订成册。

课程设计评审标准(指导教师用)代码转换程序设计说明书1、方案论证(1)大小写字母、二进制与十六进制、十六进制与十进制的转换方法在计算机系统中有多种数制和编码,常用的有二进制,八进制以及16进制。

这些数制和编码虽然在储存形式上各有差异,但彼此也相互联系。

大小写转换,主要利用小写字母比大小字母大20H的关系,将小写字母减20H就转换为大写字母,将大写字母加20H就转换为小写字母。

二进制,十进制以及16进制,主要利用0到9的数值等于相应ASCALL码减30H,而A到F的数值等于相应ASCALL码减37H,这样即可利用移位,除十取余取整等方法实现其相互转换。

(2)宏汇编程序设计要点宏是源程序中的一段有独立功能的程序代码。

宏指令,用户自定义的指令。

编程序时候,将多次使用的功能用一条宏指令来代替。

汇编包括指令,伪指令,宏指令。

前两个都是规定的,最后一个是自己设计的。

好处是用起来方便定义,但是要先定义,后调用,其优点是可以随时随地的调用宏汇编程序。

2、程序设计(1)总体设计对“实现从键盘输入16位二进制数,转换成4位十六进制数显示出来。

”的分析处理。

首先将键盘输入的二进制数以二进制形式储存起来:每次输入,将其ASCALL码值将减去30H,然后左移一位,在然后与下个输入的减30H的数相加,这样就将键盘输入的值以二进制形式储存在寄存器中.二进制转换为16进制数输出:用循环指令左移四位,取出最低4位,利用16进制所对应的ASCALL码值比其本身大30H或37H的关系,将低位转换成对应的ASCALL码值,再调用DOS系统显示字符功能,将转换后的字符显示出来,如此循环四次即可.程序总流程图:(2)程序设计二进制转十六进制流程图:程序代码及注释:;PUBLIC XPEXTRN INFO4:BYTE,INFO1:BYTE,INFO2:BYTECODE SEGMENTXP PROC FARASSUME CS:CODECALL DEC2BIN ;调用将键盘输入的ASCALL值转换为二进制数LEA DX,INFO2MOV AH,9INT 21H ;显示提示信息CALL BIN2HEX;调用将储存的二进制转换为16进制函数MOV DL,'H'MOV AH,2INT 21HRETCAL: MOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HLEA DX,INFO4MOV AH,9INT 21H;输入非二进制数,显示错误DEC2BIN PROC NEARLEA DX,INFO1MOV AH,9INT 21H;显示提示信息XOR BX,BX ;BX清零NEWCHAR: MOV AH,1INT 21H ;键盘输入,存放在AL中CMP AL,0DHJE RE;如果输入回车键,键盘输入结束SUB AL,30HJL CALCMP AL,1JG CAL ;输入为非二进制数,显示错误并退出CBWXCHG AX,BXMOV CX,2MUL CXXCHG AX,BXADD BX,AXJMP NEWCHAR;将键盘输入的制转换为二进制数,存放在BX中,并且每输入一个值,先将BX左移一位再相加. RE: MOV DL,'B'MOV AH,2INT 21HRETDEC2BIN ENDPBIN2HEX PROC NEARMOV C H,4ROTATE: MOV CL,4ROL BX,CL ;BX每左移4位输出,四位二进制表示一位十六进制MOV A L,BLAND A L,0FHADD A L,30HCMP A L,3AHJL PRINTIT ;结果若为0到9的数,则加30H后直接输出ADD AL,07H ;结果若为A到F的数,则加30H后再加07H直接输出PRINTIT: MOV DL,ALMOV AH,2INT 21HDEC CHJNE ROTATERETBIN2HEX ENDPCRLF PROC NEARMOV DL,0DHMOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21H ;回车换行RETCRLF ENDPXP ENDPCODE ENDSEND3、程序调试步骤与结果(1)编辑源程序(2)汇编源程序(3)连接程序(4)在TD中调试程序(5)程序运行结果结果说明:当输入小写字母(如a)时,就转换成相应的大写字母(如A),反之亦然;当如入二进制(如1011B),,就转换成相应的十六进数(000BH),反之亦然;如果输入的字母或数字不符合要求,就会显示“INPUT ERROR”4、结论。

汇编语言与微机原理实验-分支程序设计实验

汇编语言与微机原理实验-分支程序设计实验

实验二分支程序设计实验姓名:学号:实验日期:一实验目的1、掌握分支程序的设计方法。

2、掌握宏定义及宏调用的基本方法。

3、了解小写和大写字母的ASCII码表示及其转换方法。

了解数字及其它字符在的ASCII码表示方法。

4、进一步掌握调试工具的使用方法二实验内容从键盘输入一字符,判断该字符是小写字母、大写字母、数字或其它字符。

若输入为小写字母,显示“You Input a Lowercase Letter!”;若输入为大写字母,显示“You Input a Uppercase Letter!”;若输入为数字,显示“You Input a Digit!”;若输入为其它字符,显示“You Input Other Letter!”。

1、编程指导数字0~9的ASCII码为30H~39H;大写字母的ASCII码为41H~5AH,小写字母的ASCII 码为61H~7AH。

本题目将字符分为小写字母、大写字母、数字及其它字符,根据键入字符的ASCII码值判断其所属类型,并显示相应的信息。

字符串显示使用功能号为09H的DOS 功能调用,接收键盘输入的单个字符使用功能号为01H的DOS功能调用。

2、流程图及程序框图(一):程序流程图(二)程序框架:DATA SEGMENTINFOR1 DB 0AH,0DH,"Please Press Any Key to input a letter:$"INFOR2 DB 0AH,0DH,"You Input a Lowercase Letter!$"INFOR3 DB 0AH,0DH,"You Input a Uppercase Letter!$"INFOR4 DB 0AH,0DH,"You Input a Digit!$"INFOR5 DB 0AH,0DH,"You Input Other Letter!$"DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:M OV AX,DATAMOV DS,AXMOV AH,09MOV DX,OFFSET INFOR1INT 21HMOV AH,09HCMP AL,'0'JB OTHERCMP AL,'9'JBE DIGITCMP AL,'A'JB OTHERCMP AL,'Z'JBE UPPERCMP AL,'a'JB OTHERCMP AL,'z'JBE LOWERJMP PENDLOWER:MOV AH,09HMOV DX,OFFSET INFOR2INT 21HJMP PENDUPPER:MOV AH,09HMOV DX,OFFSET INFOR3INT 21HJMP PENDDIGIT:MOV AH,09HMOV DX,OFFSET INFOR4INT 21HJMP PENDOTHER:MOV AH,09HMOV DX,OFFSET INFOR5INT 21HPEND:MOV AH,4CHINT 21HCODE ENDSEND START三实验习题选做题一:在屏幕上显示信息“Are you really want to exit?”,然后从键盘输入一个字符,若输入“Y”或“y”,显示“Thank you for your using!”后程序结束;若输入“N”或“n”,显示“Let’s continue!”后程序结束;若输入其它字符,显示“You press an error key!”后程序结束(要求尽量使用宏指令以便使源程序更加简洁)。

16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。

16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。

第3章3.1:汇编语言有什么特点解:汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序3.2编写汇编语言源程序时,一般的组成原则是什么?解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内(5)通常,程序还需要一个堆栈段3.3 MODEL伪指令是简化段定义源程序格式中必不可少的语句,它设计了哪7种存储模式?各用于创建什么性质的程序?解:3.4如何规定一个程序执行的开始位置,主程序执行结束应该如何返回DOS,源程序在何处停止汇编过程?解:开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编3.5逻辑段具有哪些属性?解:段定位、段组合和段类型。

3.6给出采用一个源程序格式书写的例题3.1源程序例题3.1:创建一个在屏幕上显示一段信息的程序……解:stack segment stackdb 1024(0)stack endsdata segmentstring db 'Hello,Assembly!',0dH,0aH,‘$’data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start3.7DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么?解:(1). EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序(2). COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序(MASM 6.x需要采用TINY模式)3.8举例说明等价“EUQ”伪指令和等号“=”伪指令的用途解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名 EQU <字符串>符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。

微机原理-代码转换程序

微机原理-代码转换程序

课程设计任务书学生姓名:专业班级:自动化指导教师:工作单位:自动化学院题目: 代码转换程序初始条件:字母或数制之间的转化程序,按S后,键盘输入小写字母,显示对应的大写字母,按B后,键盘输入二进制数,显示对应的十六进制数。

结果显示在屏幕上。

按Q退出程序。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:1月18日~1月20日:收集资料,方案选择1月21日~1月23日:整体流程,程序细节1月25日~1月27日;调试程序,报告撰写1月28:交设计报告,程序演示,答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录1设计任务要求 (1)1.1实现任务 (1)1.2任务分析 (1)2方案比较 (2)3系统实现原理 (3)3.1系统资源 (3)3.2DOS功能调用 (3)4.软件设计与实现 (5)4.1程序设计思想 (5)4.1.1程序功能描述 (5)4.1.2流程图 (5)4.2算法分析 (9)4.2.1小写字母转大写字母算法 (9)4.2.2二进制转换为十六进制算法 (9)4.2.3DOS中的字符显示功能 (10)5软件建立与调试 (11)5.1汇编源程序的建立 (11)5.2程序调试与运行结果 (12)6心得体会 (14)参考文献 (15)附录一源程序及其注释 (16)附录二程序运行效果图 (23)附录三本科生课程设计成绩评定表 (24)摘要本文通过汇编语言设计实现简单的代码转换功能,把输入的小写字母转换为大写字母和输入的二进制转换为十六进制,并显示转换结果。

如何将大写字母转换为小写字母的方法-概述说明以及解释

如何将大写字母转换为小写字母的方法-概述说明以及解释

如何将大写字母转换为小写字母的方法-概述说明以及解释1.引言1.1 概述大写字母和小写字母在日常书写和使用中扮演着不同的角色。

然而,有时候我们需要将大写字母转换为小写字母,以适应特定的需求或要求。

这篇文章将介绍两种常见的方法来实现这一转换。

第一种方法是通过使用编程语言的内置函数来实现,这种方法简单快捷且适用于各种编程语言。

第二种方法是通过使用ASCII码进行转换,这种方法更加灵活且可以应用于不同的场景。

在接下来的正文部分,将详细介绍这两种方法的具体步骤和实现方式。

首先,我们将探讨使用编程语言的内置函数进行转换。

不同的编程语言提供了不同的函数来执行字母大小写转换,我们将以一些常用的编程语言作为示例,介绍它们的用法和注意事项。

其次,我们将介绍通过使用ASCII码进行转换的方法。

每个字符在计算机中都有一个对应的ASCII码值,大写字母和小写字母的ASCII码值之间相差固定的数值。

通过对大写字母的ASCII码值进行适当的计算,我们可以得到对应的小写字母的ASCII码值,从而实现大小写转换。

在结论部分,我们将总结方法一和方法二的优缺点,并探讨将大写字母转换为小写字母的实际应用场景。

无论是在编程工作中还是在日常生活中,大小写转换都有着广泛的应用。

了解不同的转换方法和它们的特点,将有助于我们更好地应用和理解其中的原理。

无论您是初学者还是有一定经验的编程人员,本文将为您提供有关将大写字母转换为小写字母的方法的全面指南。

文章结构部分的内容应该包含对整篇文章主体结构的介绍,这可以帮助读者更好地理解文章内容的组织和逻辑关系。

下面是文章1.2节"文章结构" 的可能内容:1.2 文章结构本文将介绍如何将大写字母转换为小写字母的方法。

为了更好地组织和呈现这些方法,本文分为引言、正文和结论三个部分。

在引言部分,我们将首先对文章的主题进行概述,说明为什么将大写字母转换为小写字母是一个重要的问题。

我们还会介绍文章的整体结构,以及本文的目的和意义。

大小写字母的转换方法

大小写字母的转换方法

大小写字母的转换方法1.引言1.1 概述在计算机编程中,大小写字母的转换是一项非常常见且基础的操作。

在编程语言中,我们经常需要将字符串的大小写进行转换,以满足不同的需求和操作。

大小写字母转换的方法可以根据具体的编程语言来进行实现,不同的语言可能会有不同的方式和函数来实现这一功能。

在本篇文章中,我们将探讨大写字母转小写字母和小写字母转大写字母的方法。

我们将会介绍一些常见的方式和技巧,帮助读者了解如何在不同的编程语言中实现大小写字母的转换。

通过学习本文,读者将能够掌握如何使用相关的编程语言函数或方法来实现大小写字母的转换。

这将为读者在编程过程中处理字符串提供便利,提高编码效率。

此外,我们还将探讨大小写字母转换的应用场景,帮助读者理解这一技巧在实际开发中的价值和作用。

总之,本篇文章将通过详细介绍大写字母转小写字母和小写字母转大写字母的方法,帮助读者对这一功能有全面的了解。

同时,我们还将讨论其在实际开发中的应用场景,以便读者能够更好地运用它们来解决问题。

接下来,我们将系统地介绍大写字母转小写字母和小写字母转大写字母的方法,以便读者能够更好地掌握和运用这一技巧。

1.2文章结构文章结构部分的内容:文章结构是指文本在整体上的组织方式和逻辑顺序,它决定了文章的基本框架和内容的呈现方式。

一个良好的文章结构可以帮助读者更好地理解文章的主题和观点。

本文主要介绍关于大小写字母转换方法的内容,文章结构包括引言、正文和结论三个部分。

在引言部分,我们将会对本文的内容进行概述,说明文章的目的和意义。

我们将介绍大小写字母转换方法对于书写规范和文字处理的重要性,并简要介绍本文的结构,为读者提供文章整体架构的预期。

在正文部分,我们将详细介绍大写字母转小写字母的方法和小写字母转大写字母的方法。

在2.1节,我们将阐述大写字母转小写字母的方法,包括使用编程语言的内置函数或算法来实现转换,以及手动进行大小写转换的一些常用规则。

在2.2节,我们将介绍小写字母转大写字母的方法,包括同样使用编程语言的内置函数或算法来实现转换,以及手动进行大小写转换的规则。

微机原理:完美的大小写字母互换

微机原理:完美的大小写字母互换

微机原理实验:接受键盘字符(以回车键结束),并将其中的小写字母转化为大写字母,大写字母转化为小写字母,然后显示在屏幕上。

要求:BX指向字符行缓冲区首址,偏移地址指针SI清0,使用DOS 01H号功能接受键入字符。

以下程序完美的实现了大小写字母的混合输入后的混合转换,即大转小,小转大,并可键入空格,如:I LOVE you。

DATAS SEGMENTDATA1 DB 20 DUP('?')DATA2 DB'please input string,end with enter,exit with ctrl-c:',0DH,0AH,'$'DATA3 DB'the connverted string is:',0DH,0AH,'$'DATA4 DB 0DH,0AH,'$'DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASSTART:MOV AX,DATASMOV DS,AXXOR SI,SIMOV BX,OFFSET DATA1LEA DX,DATA2MOV AH,9INT 21HLOOP1: MOV AH,1INT 21HCMP AL,03HJZ LOOP4CMP AL,0DHJZ LOOP3CMP AL,41HJAE LOOP5LOOP2:SUB AL,20HMOV [BX+SI],ALINC SIJMP LOOP1L5:CMP AL,61HJAE LOOP2ADD AL,20HMOV [BX+SI],ALINC SIJMP LOOP1L3:LEA DX,DATA4MOV AH,9INT 21HLEA DX,DATA3MOV AH,9INT 21HMOV [BX+SI],ALMOV AL,0AHMOV [BX+SI+1],ALMOV AL,'$'MOV [BX+SI+2],ALMOV DX,BXMOV AH,9INT 21HLEA DX,DATA4MOV AH,9INT 21HJMP LOOP4LOOP4:MOV AH,4CHINT 21HCODES ENDSEND START运行结果:。

微机原理课程设计大小写字母转换

微机原理课程设计大小写字母转换

微机原理课程设计大小写字母转换一、任务背景和目的大小写字母转换是计算机科学中的基本操作之一,它在实际应用中具有广泛的用途。

本次微机原理课程设计的目的是设计一个程序,能够实现英文文本中大小写字母的相互转换。

通过该程序,我们可以将大写字母转换为小写字母,或将小写字母转换为大写字母,从而满足不同应用场景下的需求。

二、设计要求1. 输入要求:程序应能够接受用户输入的英文文本。

2. 输出要求:程序应能够将输入的英文文本中的大小写字母进行相应的转换,并将转换结果输出给用户。

3. 转换规则:a) 大写字母转小写字母:将大写字母转换为相应的小写字母。

b) 小写字母转大写字母:将小写字母转换为相应的大写字母。

c) 非字母字符保持不变:对于非字母字符,不进行大小写转换,直接输出。

4. 界面友好性:程序应具有良好的用户界面,能够清晰地展示输入和输出结果。

三、设计思路1. 获取用户输入的英文文本。

2. 对于文本中的每个字符,判断其是否为字母。

3. 如果是字母,则根据转换规则进行大小写转换。

4. 如果不是字母,则保持不变。

5. 将转换后的结果输出给用户。

四、设计实现下面是一个简单的示例代码,用于实现大小写字母转换的功能:```python# 定义大小写字母转换函数def convert_case(text):result = ""for char in text:if char.isalpha():if char.islower():result += char.upper()else:result += char.lower()else:result += charreturn result# 主程序def main():# 获取用户输入的英文文本text = input("请输入英文文本:")# 调用转换函数进行大小写转换converted_text = convert_case(text)# 输出转换结果print("转换后的结果为:", converted_text)# 执行主程序if __name__ == "__main__":main()```五、测试样例及结果1. 输入样例1:Hello World!输出结果1:hELLO wORLD!2. 输入样例2:Python is Great!输出结果2:pYTHON IS gREAT!3. 输入样例3:12345输出结果3:12345六、总结通过本次微机原理课程设计,我们成功实现了大小写字母转换的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档