微机原理课程设计 汇编语言 ——将键盘输入的小写字母转换成大写字母的设计

合集下载

汇编语言代码转换 大小写,二进制,十进制,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、结论。

小写字母转换为大写字母

小写字母转换为大写字母

;如果需要把大写字母转乘小写的,只要把代码中-20H变为+20H即可
MOV CH,0
NEXT1:
MOV DL,[SI]
CMP DL,'a'
JB NEXT2
CMP DL,'z'
JA NEXT2 ;ASCII码小于a和大于z的跳过,其余的减32
SUB DL,20H ;大小写字母的ASCII码差32
JZ HEAD
CMP AL,'y'
JZ HEAD
CMP AL,'N'
JZ OVER
CMP AL,'n'
JZ OVER
JMP OVERFLOW
OVER:
MOV AH,4CH
INT 21H
CODES ENDS
END START
?咀?汇编小程序:小写字母转换成大写字母2010-11-17 19:46转载自 xiamengy最终编辑 xiamengy实验内容:接收键入字符(以CTRL-C为结束),将小写字母变为大写字母,并在屏幕上显示。
DATAS SEGMENT
MESSAGE DB 'Welcome to the system!',13,10,13,10
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
HEAD:
MOV AX,DATAS
MOV DS,AX
LEA DX,MESSAGE ;输出提示语
MOV AH,09H
INT 21H
LEA DX,STRING
DB 'The function of the program is changing small letters to capital letters.',13,10

微机原理课程设计汇编语言——将键盘输入小写字母转换成大写字母设计

微机原理课程设计汇编语言——将键盘输入小写字母转换成大写字母设计

设计 6、将键盘输入的小写字母变换成大写字母的设计1.实验要求:为认识小写字母和大写字母在计算机内的表示方法,并学习怎样进行变换。

编写程序,接收键盘字符,并将此中的小写字母转变成大写字母,而后显示在屏幕上。

2.参照流程:进口段存放器和货仓初始化BX 指向字符行缓冲区首址偏移指针 SI 清 0INT 21H 的 01H 号子功能接收键入字符Y是 ctrl+c 键?NY是回车键?NN是小写字母?Y小写字母的ASCII 码值转变成大写字母的ASCII 码值存入字符缓冲区[BX+SI] 单元SI 加 1 指向下一单元显示变换后的字符行缓冲区内容返回 DOS3. 程序清单:DATA SEGMENTDATA1DB20 DUP(?)DISPP1DB 'please input letters, end with enter, exit with ctrl-c',0DH,0AH,'$'DISPP2DB 'the inverted litter is:', 0DH, 0AH,'$'DISPP3DB0DH,0AH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,00HMOV BX,OFFSET DATA1LEA DX,DISPP1MOV AH,9INT 21HL1:MOV AH,1INT 21HCMP AL,03HJZ L4CMP AL,0DHJZ L3CMP AL,61HJZ L2SUB AL,20HJMP L2L2: MOV[BX+SI],ALINC SIJMP L1L3:LEA DX,DISPP3MOV AH,9INT 21HLEA DX,DISPP2MOV AH,9INT 21HMOV [BX+SI],ALMOV AL,0AHMOV [BX+SI+1],ALMOV AL,'$'MOV [BX+SI+2],ALMOV DX,BXMOV AH,9INT 21HLEA DX,DISPP3MOV AH,9INT 21HJMP L4L4:MOV AH,4CHINT 21HCODE ENDSEND START4.运转结果显示:。

用汇编语言对字母大小写转换

用汇编语言对字母大小写转换

物理与电气工程学院课程实践报告用汇编语言对字母大小写转换姓名** ***********专业电气工程及其自动化班级电气工程及其自动化1班年级2000级指导教师00 00成绩日期0000.6.20一.概述在计算机系统中有多种数制和编码,常用的数制有二进制、八进制以及十六进制,常用的代码有BCD 码、ASCll码和七段显示码等。

这些数制和编码根据其作用的不同,在存储形式上也有差异。

在实际应用中,它们也因使用的要求不同而有所差异。

在配备操作系统管理程序的计算机中,有些代码转换程序已在系统管理软件中编好。

还有些代码转换需要根据使用要求通过编程完成。

因此,代码转换是非数据处理中最常见的情况。

二.设计要求完成一个字母或数制之间的转化程序,主程序分别具有可选择的子功能,按相应的字符,可分别进入相应的子功能并在屏幕上显示结果。

可选择的子功能分别为:(1)实现小写字母向大写字母的转换(2)实现大写字母向小写字母的转换三.设计思想与工作原理小写字母的ASC码比大写字母的ASC码大20H,因此,大写转小写就是将大写字母的ASC码加20H,反之,将小写字母的ASC码减20H。

大小写字母转换功能,是通过调用子函数input实现对字符串的输入,然后调用宏gaixie来实现对大小写的转换,其中宏是通过参数的传递来确定是小写转换成大写,还是大写转换成小写的。

从而决定是对操作数进行加或减20H。

80x86从功能上分执行单元EU(Execution Unit),和总线接口单元BIU(Bus Interface Unit),执行单元由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和EU控制器等部件组成。

指令执行部件EU由算术逻辑单元、标志寄存器、通用寄存器和EU控制器等部件组成。

主要功能是执行指令:一般顺序执行,EU不断地从指令队列中取指令连续执行,而省去访问存储器取指令的时间。

需要访问存储器取操作数时,EU将访问地址送给BIU后,将要等待操作数到来后才能继续操作;遇到转移类指令时,要将指令队列中的后续指令作废,等待BIU重新从存储器取出目标地址中的指令代码进入指令队列后,EU才能继续执行指令。

微机原理汇编程序设计

微机原理汇编程序设计

微机原理课程设计设计一:从键盘输入十六进制数并显示出二进制值设计二:字符串匹配设计设计三:字符和数据显示的设计设计四:键盘输入小写字母转换成大写字母设计五:计算N!的设计2011-7-6设计一:从键盘输入十六进制数并显示出二进制值实验目的:掌握接收键盘数据的方法,并了解数据显示时须转换为ASCII码的原理。

实验内容:将键盘接收到的4位十六进制数据转换为等值的二进制数,再显示在屏幕终端上。

流程图:程序源代码:CRLF MACROMOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDA TA SEGMENTMARK DB ?MESS DB 'INPUT THE NUMBER! Press Enter to Transition,Press Space to Exit!',0DH,0AH,'Input:$'ERROR DB 0DH,0AH, 'Input Error!',0DH,0AH,'$'DA TA ENDSSTACK SEGMENTSTA DW 32 DUP(?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV SP,TOPHEAD: CRLFMOV MARK,0MOV AH,09HLEA DX,MESSINT 21H ;显示提示输入的信息CALL GETNUM ;接收键入数值送DXCMP MARK,01HJE HEADMOV CX,0010H ;16位MOV BX,DXTTT: ROL BX,1 ;循环左移1位MOV DL,BLAND DL,01H ;屏蔽掉高7位ADD DL,30HMOV AH,02HINT 21H ;显示二进制位对应的ASCII字符LOOP TTTJMP HEADFINI: MOV AH,4CHINT 21H ;返回DOSGETNUM PROC NEAR ;子程序,接收键入数值送DX PUSH CXXOR DX,DXGGG: MOV AH,01HINT 21HCMP AL,0DH ;输入为回车,则进行转换JE PPPCMP AL,20H ;输入为空格,则退回DOSJE FINICMP AL,30HJB KKKSUB AL,30HCMP AL,0AHJB GETSCMP AL,11HJB KKKSUB AL,07HCMP AL,0FHJBE GETSCMP AL,2AHJB KKKCMP AL,2FHJA KKKSUB AL,20HGETS: MOV CL,04SHL DX,CLXOR AH,AHADD DX,AXJMP GGGKKK: MOV AH,09HMOV DX,OFFSET ERRORINT 21HMOV MARK,01HPPP: PUSH DXCRLFPOP DXPOP CXRETGETNUM ENDPCODE ENDSEND START运行结果设计二:字符串匹配设计实验内容:编写程序实现两个字符串比较。

《微机原理及接口技术》复习总结综合版——简答题

《微机原理及接口技术》复习总结综合版——简答题

《微机原理及接口技术》复习总结综合版——简答题第一篇:《微机原理及接口技术》复习总结综合版——简答题综合版—简答题欢迎使用KNKJ2012DXZY系统《微机原理及接口技术》学科复习综合版—简答题1、微型计算机由那些基本功能部件组成?微处理器、主存储器、系统总线、辅助存储器、输入/输出(I/O)接口和输入/输出设备2、什么是(计算机)总线?在计算机中,连接CPU与各个功能部件之间的一组公共线路,称为总线3、微型计算机系统的基本组成?微型计算机,系统软件,应用软件,输入输出设备4、简述冯.诺依曼型计算机基本组成。

冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。

其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。

5、什么是机器数?什么是机器数的真值?数在机器内的表示形式为机器数。

而机器数对应的数值称为机器数的真值。

6、8086与8088这两个微处理器在结构上有何相同点,有何主要区别?相同点:(1)内部均由EU、BIU两大部分组成,结构基本相同。

(2)用户编程使用的寄存器等功能部件均为16位。

(3)内部数据通路为16位。

区别 :(1)对外数据总线8086:16位,8088:8位。

(2)指令队列8086:6级,8088:4级。

7、8086CPU内部由哪两部分组成?各完成什么工作?在8086内部由BIU和EU两大部分组成,BIU主要负责和总线打交道,用于CPU与存储器和I/O接口之间进行数据交换;EU主要是将从指令队列中取得的指令加以执行。

8、简述8086内部分为EU和BIU两大功能的意义。

这两部分分开可以在执行指令的同时,从存储器中将将要执行的指令取到指令队列,使两部分并行工作,提高CPU的速度。

《微机原理与接口技术》课程设计说明书-英文字母大小写转换程序设计

《微机原理与接口技术》课程设计说明书-英文字母大小写转换程序设计
摘 要
汇编语言是用指令的助记符、符号地址、标号等书写程序的语言,实际上是机器语言的一种符号表示,主要特点是可以使用助记符来表示机器指令的操作码和操作数,可以用标号和符号来代替地址、常量和变量。汇编语言是能够利用计算机所有硬件特性进而直接控制硬件的唯一语言。本次课程设计的任务是用汇编语言做一个英文字母大小写转换程序,按照用户的要求完成对输入数据的大写或者小写转换。先输入要转换的数据,再对数据进行检验判断其合法性,对不合法的数据进行警报并重新输入数据,对合法的数据按照要求进行大写或者小写转换,最后显示转换后的字符串。
课程设计任务书
学生姓名:****专业班级:电信0801班
指导教师:****工作单位:信息工程学院
题 目:英文字母大小写转换程序设计
初始条件:
具备数字电路的理论知识;具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
(
格式:MOV AH, 01H
INT 21H
功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中。
(
格式:MOV AH, 08H
INT 21H
功能:同1号功能调用,但字符不在屏幕上显示。
应用INT 21H系统功能调用的方法如下。
①入口参数送指定的寄存器或内存。
②功能号送AH中。
③执行INT 21H软中断指令。
有的子功能程序不需要入口参数,但大部分需要把参数送入指定位置。程序员只要给出这三方面的信息,不必关心程序具体如何执行,在内存中的存放地址如何,DOS就会根据所给的参数信息自动转入相应的子程序去执行并产生相应结果。下面介绍常用的功能调用。

将小写字母转化为大写字母的程序

将小写字母转化为大写字母的程序

将小写字母转化为大写字母的程序在计算机领域中,有一项很基础但却很重要的任务就是字符的转换。

其中最常见的任务之一就是将小写字母转换为大写字母。

这个任务似乎很简单,但是在实现这个功能的程序中,却有很多细节需要注意。

在编写将小写字母转换为大写字母的程序时,我们需要考虑以下几个方面:1. ASCII 码表ASCII 码表是计算机中常用的字符编码表,它将常见的字符映射到一个 8 位二进制数上。

在 ASCII 码表中,大写字母和小写字母是按照字母表的顺序排列的,其中大写字母的编码从 65 开始,小写字母的编码从 97 开始。

因此,我们可以通过将小写字母的 ASCII 码值减去 32 来得到对应的大写字母的 ASCII 码值。

2. 输入和输出在实现将小写字母转换为大写字母的程序时,我们需要考虑输入和输出。

在大多数情况下,我们可以通过从键盘读取用户输入的字符,然后将其转换为大写字母后输出到屏幕上。

但是,在某些特殊情况下,我们需要从文件或其他来源读取字符,并将转换后的字符写入到文件或其他目标中。

3. 处理特殊字符除了大小写字母之外,输入中可能还包含其他字符,如数字、标点符号、空格等。

在处理这些特殊字符时,我们需要决定是否将它们保留为原样,或者将它们转换为大写字母的等价形式。

这个决定取决于具体的需求,例如在处理邮件地址时,我们需要保留小写字母和特殊字符,而在处理密码时,我们需要将所有字符转换为大写字母。

4. 错误处理在编写程序时,我们需要考虑各种可能的错误情况,并采取相应的措施来避免或处理这些错误。

例如,在读取输入时,可能会发生输入缓冲区溢出的情况,或者输入包含无法识别的字符。

在输出时,可能会发生输出缓冲区溢出的情况,或者输出到错误的目标位置。

为了避免这些错误,我们需要仔细检查输入和输出的长度,并对不符合要求的输入和输出进行严格的处理和过滤。

5. 程序性能在实际应用中,程序的性能也是一个重要的考虑因素。

在处理大量数据或高并发情况下,程序需要具备较高的性能和稳定性,以确保程序能够快速、准确地完成任务。

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

SEGMENT DB 20 DUP(?) DB 'please input letters, end with enter, exit with ctrl-c',0DH,0AH,'$' DB 'the inverted litter is:', 0DH, 0AH,'$' DB 0DH,0AH,'$' ENDS
L4: CODE
LEA DX,DISPP3 MOV AH,9 INT 21H JMP L4 MOV AH,4CH INT 21H ENDS END START
4. 运行结果显示:
INT 21H 的 01H 号子功能接收键入字符
Y
是 ctrl+c 键?
N Y
是回车键?
N N
是小写字母?
Y
小写字母的 ASCII 码值转化为大写字母的 ASCII 码值
存入字符缓冲区[BX+SI]单元 SI 加 1 指向下一单元
显示转换后的字符行缓冲区内容 返回 DOS
3. 程序清单: DATA DATA1 DISPP1 DISPP2 DISPP3 DATA
设计 6、将键盘输入的小写字母转换成大写字母的设计 1. 实验要求:
为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。编写程 序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。
2. 参考流程:
入口
段寄存器和堆栈初始化
BX 指向字符行缓冲区首址
偏移指针 SI 清 0
CODE START:
L1:
L2: L3:
SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV SI,00H MOV BX,OFFSET DATA1 LEA DX,DISPP1 MOV AH,9 INT 21H MOV AH,1 INT 21H CMP AL,03H JZ L4 CMP AL,0DH JZ L3 CMP AL,61H JZ L2 SUB AL,20H JMP L2 MOV [BX+SI],AL INC SI JMP L1 LEA DX,DISPP3 MOV AH,9 INT 21H LEA DX,DISPP2 MOV AH,9 INT 21H MOV [BX+SI],AL MOV AL,0AH MOV [BX+SI+1],AL MOV AL,'$' MOV [BX+SI+2],AL MOV DX,BX MOV AH,9 INT 21H
相关文档
最新文档