微机原理汇编语言将小写字母转换为

合集下载

微机原理考试题及答案

微机原理考试题及答案

《微机原理与接口技术》课程期末考试试卷一、填空题(20*1)1、微机系统由(硬件系统)和(软件系统)两部分组成。

2、8086有(20)位地址线,存储器容量为(1M )B。

3、8086CPU 内部组成结构从功能上讲,可分为(BIU)和(EU )两部分。

4、8086/8088的四个段寄存器为(DS)、(ES)、(SS )、(CS)5、用来存放CPU状态信息的寄存器是(FLAGS)。

6、用来存放指令地址的寄存器是(IP )。

7、8086的16位标志寄存器FLAGS中OF=1表示运算结果(溢出),ZF=1表示运算结果为零。

PF=0表示运算结果的低8位中1的个数为(奇数)。

8、8086的16位标志寄存器FLAGS中IF=1表示CPU(允许)中断,TF=1表示CPU进入(单步)工作方式。

9、地址4000H:0300H,其物理地址是(40300H),段地址是(4000H),偏移地址是(0300H )。

10、8086存储器管理采用(分段管理)技术。

11、I/O端口的寻址方式有两种,分别是( 直接寻址),( 间接寻址)。

12、指令JO NEXT 表示OF=( 1 )时转移。

13、将I/O设备端口内容读入AL中的指令助记符是( IN )。

14、8086CPU的I/O指令采用间接寻址时,使用的间接寄存器是( DX )。

15、设置DF=1的指令为(STD)。

16、清除CF标志的指令为(CLC)。

17、一对操作堆栈的指令为(POP)和(PUSH)。

18、LOOPNZ的循环条件为(CX≠0且ZF=0 )。

19、实现无符号数乘2的指令的助记符是(SHL),实现有符号数除2的指令的助记符是(SAR )。

20、变量/标号的三个属性是(段属性),(偏移属性),(类型属性)。

21、DEBUG命令中,反汇编命令的英文字母为(U ),显示内存命令的英文字母为(D),跟踪执行命令的英文字母为(T),显示和修改寄存器的命令(R),汇编命令是( A )。

1632位微机原理汇编语言及接口技术课后习题答案

1632位微机原理汇编语言及接口技术课后习题答案

第一章1.1 解:五代,详细见书1.2 解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统。

PC机:PC(Personal Computer)机就是面向个人单独使用的一类微机。

单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。

数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用1.3 解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源1.4 解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换。

好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线。

其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。

1.5解:(1)用于数值计算、数据处理及信息管理方向。

采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。

(2)用于过程控制及嵌人应用方向。

采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。

1.6 解:1.7 解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。

16/32位微机原理、汇编语言及接口技术__钱晓捷_第2版_课后习题答案45926

16/32位微机原理、汇编语言及接口技术__钱晓捷_第2版_课后习题答案45926

第一章1.1 解:五代,详细见书1.2 解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件――控制器和运算器的微处理器为核心,所构造出的计算机系统。

PC机:PC(Person al Computer )机就是面向个人单独使用的一类微机。

单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM RAM定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。

数字信号处理器DSP主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用1.3 解:微机主要有存储器、I/O设备和I/O接口、CPU系统总线、操作系统和应用软件组成,各部分功能如下:CPU统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源1.4 解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换。

好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线。

其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。

1.5 解:(1)用于数值计算、数据处理及信息管理方向。

采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。

(2)用于过程控制及嵌人应用方向。

采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。

1.6 解:1.7 解:I/O 通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。

微机原理题集(附答案)

微机原理题集(附答案)

微机原理题集★8、一般一个总线周期可分为___T1____ 、___T2____ 、__T3_____和_____T4__状态。

★3、指令JO NEXT 表示OF=__1_____时转移。

★3、DEBUG命令中,反汇编命令的英文字母为___U___,显示内存命令的英文字母为_____D___,跟踪执行命令的英文字母为____T____,显示和修改寄存器的命令____R____,汇编命令是_____A___。

★7、CPU与IO设备之间数据传送控制方式常见的有__程序控制方式____、__中断控制方式____和_DMA_____三种。

★5.下列指令执行时出错的是(B)A.ADD BUF1,BUF2B.JMP DWORD PTR DAT [BX]C.MOV AX,[BX+DI] NUMD.TEST AL,08H★10.下列指令中,源操作数的寻址方式中,(C)属于立即寻址,(B)属于寄存器寻址,(E)属于寄存器间接寻址,(A)属于直接寻址,(D)属于寄存器相对寻址。

A)MOV AX,[4000H] B)MOV [BX],AXC)SUB AX,2000H D)MOV AX,[SI+12H]E)MOV CX,[BX] F)MOV AX,[SI+BX+10H]★13.指令LOOPNZ的循环结束条件是(D)。

A)CX=0且ZF=0 B)CX=0或ZF=0C)CX=0且ZF=1 D)CX=0或ZF=114、指令CALL DWORD PTR [BX]目标地址的寻址方式为DA)段内直接B)段内间接C)段间直接D)段间间接★1.语句DA1 DB 2 DUP(4,6),5汇编后,与该语句功能等同的语句是(C)。

A)DA1 DB 4,6,5B)DA1 DB 2,4,6,5C)DA1 DB 4,6,4,6,5D)DA1 DB 4,6,5,4,6,51、微机系统由(硬件系统)和(软件系统)两部分组成。

2、总线按传输的信息种类可分成(数据)、(地址)和(控制)三种。

微机原理、汇编语言及接口技术教程课后习题答案

微机原理、汇编语言及接口技术教程课后习题答案

!《16/32位微机原理、汇编语言及接口技术教程》部分习题参考解答第1章微型计算机系统概述〔习题〕什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统〔解答〕通用微处理器:适合较广的应用领域的微处理器,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器。

单片机:是指通常用于控制领域的微处理器芯片,其内部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。

~DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。

嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。

〔习题〕说明微型计算机系统的硬件组成及各部分作用。

〔解答〕CPU:CPU也称处理器,是微机的核心。

它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。

处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。

存储器:存储器是存放程序和数据的部件。

(外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。

I/O设备通过I/O接口与主机连接。

总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。

〔习题〕什么是总线微机总线通常有哪3组信号各组信号的作用是什么〔解答〕总线:传递信息的共用通道,物理上是一组公用导线。

3组信号线:数据总线、地址总线和控制总线。

(1)地址总线:传输将要访问的主存单元或I/O端口的地址信息。

#(2)数据总线:传输读写操作的数据信息。

(3)控制总线:协调系统中各部件的操作。

〔习题〕简答如下概念:(1)计算机字长(2)取指-译码-执行周期(3)ROM-BIOS(4)中断((5)ISA总线〔解答〕(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。

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

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

《微机原理及接口技术》复习总结综合版——简答题第一篇:《微机原理及接口技术》复习总结综合版——简答题综合版—简答题欢迎使用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就会根据所给的参数信息自动转入相应的子程序去执行并产生相应结果。下面介绍常用的功能调用。

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

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

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

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

2.参考流程:3.程序清单:DA TA SEGMENTDA TA1 DB 20 DUP(?)DISPP1 DB 'please input letters, end with enter, exit with ctrl-c',0DH,0AH,'$'DISPP2 DB 'the inverted litter is:', 0DH, 0AH,'$'DISPP3 DB 0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV SI,00HMOV BX,OFFSET DA TA1LEA 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.运行结果显示:文- 汉语汉字编辑词条文,wen,从玄从爻。

微机原理和汇编语言复习资料

微机原理和汇编语言复习资料

微机原理和汇编语言复习资料一、选择题(30分)1.已知X=76,则[X]补=()A。

76H B。

4CH C。

0BCH D。

0CCH2.已知[X]补=80H,则X=()A。

80H B。

0 C.0FFH D. —80H3.已知X=78,Y=-83,则[X+Y]补=()A.0F5HB.0A1H C。

0FBH D。

65H4.下列为补码表示,其中值最大的是()A。

10001000 B.11111111 C.000000000 D.000000015.十六进制数88H,可以表示成下面几种形式,请找出错误的表示()A.无符号十进制数136B.带符号十进制数-120C.压缩BCD码十进制数88D.8位二进制数-8的补码6.在微机系统中分析并控制指令执行的部件是()A。

寄存器B。

数据寄存器C。

CPU D。

EU7.在计算机的CPU中执行算术逻辑运算的部件是()A.ALU B。

PC C.AL D.AR8.执行指令PUSH CX后堆栈指针SP自动()A.+2B.+1 C。

-2 D.-19.在标志寄存器中表示溢出的标志是()A。

AF B.CF C.OF D。

SF10.若计算机字长16位,则无符号整数表示的范围用十六进制表示为()A。

8000H~FFFFH B。

0000H~7FFFHC。

0000H~FFFFH D.0001H~FFFFH11.设物理地址(10FF0H)=10H,(10FF1H)=20H,(10FF2H)=30H,从地址10FF1H中取出一个字的内容是()A。

1020H B。

3020H C。

2030H D。

2010H12.某数据段存储单元的偏移地址为2200H~31FFH,则其存储空间大小是()A。

2K B。

4K C。

8K D.16K13.在8086CPU标志寄存器中,ZF=1表示()A。

结果有进位 B.结果为0 C.结果溢出D。

结果为负14.两个操作数运算时,下列哪种情况会发生溢出()A。

两个负数相加,结果为负B。

汇编代码转换程序(字母转换,进制转换)

汇编代码转换程序(字母转换,进制转换)

湖南农业大学课程设计报告学院:信息科学技术学院班级:2010级计算机3班姓名:杨田娇学号:201041842312课程设计题目:代码转换程序设计课程名称:汇编语言与微机原理指导老师:唐小勇评阅成绩:评阅意见:成绩评定教师签名:日期:年月日目录概述 (1)一设计题目 (1)二设计内容与要求 (1)三设计思想 (1)四程序流程图 (3)五程序源代码 (5)六设计过程中遇到的问题及解决方法 (14)七设计心得 (15)代码转换程序设计概述:代码转换程序主要是实现字母间的转换和数值之间的转换。

其中字母转换是大小写字母之间的互换,二进制转换则是二进制,十进制,十六进制之间的转换。

程序设计成一个代码转换系统,给出一个可供选择的菜单,根据界面的信息选择不同的子功能。

通过做这个程序,加强汇编语言编程的能力,更好的了解其基本原理,基本的思想,基本的方法以及相关的注意事项。

一、设计题目代码转换程序设计二、设计内容与要求完成一个字母或数制之间的转化程序,主程序分别具有 5 种可选择的子功能,按相应的字符可分别进入相应的子功能并在屏幕上显示结果,按“q”键退出。

5 种可选择的子功能分别为:1)实现小写字母向大写字母的转换2)实现大写字母向小写字母的转换3)实现二进制数向十六进制数的转换4)实现十六进制数向二进制数的转换5)实现十六进制数向十进制数的转换三、设计思想运行程序,首先会显示主界面,用户可依据提示选择不同的编号,实现不同的子功能。

1、大写字母向小写字母的转换。

当用户选择编号a,便选中了这一个子功能。

通过判断标识符,程序跳转到标识符所在的位置。

根据提示输入一个大写字母,会有一个判断输入是否合法的过程,若输入的是非大写字母,则会提示输入错误,请重新输入,直到输入正确为止。

通过改变assic码值,实现大写字母向小写字母的转换。

显示转换后的字母,然后跳转到主菜单。

2、小写字母向大写字母的转换。

当用户选择编号b,便选择了这一个子功能。

微机原理与接口技术习题答案4

微机原理与接口技术习题答案4

第4章汇编语言程序设计1.已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。

解:BUF DB "BONJOUR_BELLE"BUFR DB 100 DUP(?)MOV CX, NLEA SI, BUFLEA DI, BUFRADD DI,CXDEC DIL1:MOV AL,[SI]MOV [DI],ALINC SIDEC DILOOP L12.利用移位、传送和相加指令实现AX的内容扩大10倍。

解:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。

XOR DX,DXSHL AX, 1RCL DX, 1MOV BX,AXMOV CX,DXSHL AX, 1RCL DX, 1SHL AX, 1RCL DX, 1ADD AX, BXADC DX, CX3.在缓冲区V AR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果V AR中保存的为有符号数,则再编写程序实现将其按递减关系排列。

解:V AR DW 1236,-432,3900XOR SI,,SIMOV AX,V AR[SI]CMP AX, V AR[SI+2]JAE L1XCHG AX, V AR[SI+2]L1:CMP AX, V AR[SI+4]JAE L2XCHG AX, V AR[SI+4]L2:MOV V AR[SI], AXMOV AX,V AR[SI+2]CMP AX, V AR[SI+4]JAE L3XCHG AX, V AR[SI+4]L3:MOV V AR[SI+2], AX4.编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。

[应用]汇编语言编程键盘输入的小写字母换成大写

[应用]汇编语言编程键盘输入的小写字母换成大写

[应用]汇编语言编程键盘输入的小写字母换成大写汇编语言编程键盘输入的小写字母换成大写用汇编语言编程,要求键盘输入的小写字母换成大写我这个程序如果输入小写,则转换成大写输出;如果输入大写,则转换成小写输出。

cseg segmentassume cs:cseg begin:mov ah,1int 21hxor al,20hmov dl,almov ah,2int 21hmov ah,4chint 21h cseg endsend begin……BUF DB "please input:$"……start: mov ax,datamov ds,axlea dx,BUFmov ah,9int 21hlopa: mov ah,10 ;10号调用输入字符串int 21hmov dl,alcmp dl,'a'jb Lcmp dl,'z'ja Lsub dl,20hL: mov ah,2int 21hEXIT: mov ah,4chint 21h……汇编程序:从键盘输入一串小写字母转换成大写 2007年12月04日星期二12:44 ;从键盘输入一行字符把其中的小写字母转换成大写字符输出,其它字符原样输出data segmentchars db 200 dup(?) ;开辟200字节的缓冲区 data ends;--------------------------------- code segmentassume cs:code,ds:datastart :push dsmov ax,0push axmov ax,datamov ds,axlea bx ,charsmov si,0mov ch,0;----------------------输入字符子程序 scanf:mov ah,1int 21hcmp al,0dhjz crtcmp al,61hjnb alsub ;al>='a' mov [bx],alinc bxinc chjmp scanf;-------------------------- ;-----------------------输出字符crt:mov dl,chars[si] mov ah,2int 21hinc sidec chjz exitjmp crt;---------------------- exit:mov ah,4chint 21h;---------------------- alsub:cmp al,7ah ;al<='z'jbe alsub20hmov [bx],alinc bxinc chjmp scanf;--------------------- alsub20h:sub al,20hmov [bx],alinc bxinc chjmp scanf;---------------------code endsend start汇编语言编程问题:用键盘输入一个字符串,含有若干大小写字母,数字,要求统计出三种类型各有多少个,并显示浏览次数:465次悬赏分:10 | 解决时间:2010-11-1 11:14 | 提问者:木易秋心这是微机原理课程上的一道上机实验题,所知道的解题思路为:需要分析其输入与输出的内容,根据ASC码进行比较来确定各类型的数量,最后显示出来使用的是2号功能调用。

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

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

摘要在课程设计之前,具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法是必不可少的。

因此原理部分重新温习并整理了相关知识。

课程设计要求进行大小写字母的转换。

其实字母大小写的区别在于他们的ASCII码范围,它们之间的转换其实就是加减相应的ASCII码值。

在判断输入的字母是大写的还是小写的(即判断输入符号ASCII码在41H~5AH还是在61H~7AH内)之后,决定判断是加上还是减去ASCII码值。

另外如果输入的不是字母(输入字符对应ASCII码值不在41H~5AH或61H~7AH内),则需要报警提示,这不但涉及到用汇编语言实现发声的方法,而且对计算机硬件的了解也有要求,因此原理部分加入了部分有关声音产生的硬件知识。

关键词:汇编语言,ASCII码,大小写转换1.原理简介1.1 8086的内部结构80x86从功能上分执行单元EU(Execution Unit),和总线接口单元BIU(Bus Interface Unit),执行单元由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和EU控制器等部件组成。

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

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

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

算术逻辑单元(ALU)完成16位或8位的二进制运算;16位暂存寄存器用来暂存参加运算的操作数。

运算结果通过内部总线送到通用寄存器组或BIU的内部寄存器中等待写入存储器。

经ALU运算后的结果特征置入标志寄存器中保存EU控制器负责从BIU的指令队列中取指令,并对指令译码;根据指令要求向EU内部各部件发出控制命令以完成各条指令的功能。

大小写转换原理

大小写转换原理

大小写转换原理
大小写转换是指将一段文本中的大小写字母进行转换的处理。

在计算机编程中,常用的大小写转换包括将大写字母转换为小写字母和将小写字母转换为大写字母两种情况。

大小写转换原理的实现方式主要依赖于字符编码表和ASCII
码。

计算机中的字符储存和处理都是以二进制形式进行的,在ASCII码中,大写字母和小写字母对应的ASCII码值是不同的,比如大写字母A对应的ASCII码值是65,而小写字母a对应
的ASCII码值是97。

通过改变字母的ASCII码值,就可以实
现大小写转换。

当进行大写字母转小写字母时,可以先判断字符是否是大写字母,如果是,则将其ASCII码值加上32,就可以得到对应的
小写字母的ASCII码值。

例如,将字符'A'转为小写字母'a',就可以通过将其ASCII码值65加上32得到97,即对应的小写
字母'a'。

当进行小写字母转大写字母时,可以先判断字符是否是小写字母,如果是,则将其ASCII码值减去32,就可以得到对应的
大写字母的ASCII码值。

例如,将字符'a'转为大写字母'A',就可以通过将其ASCII码值97减去32得到65,即对应的大写
字母'A'。

除了ASCII码外,还有其他字符编码方案,如UNICODE,UTF-8等,在这些编码中,字母的编码方式可能有所不同,但是原理基本相同。

根据字符编码方案不同,可能需要使用不同
的算法实现大小写转换。

因此,在实际应用中,需要根据具体情况选择适合的字符编码以及大小写转换算法。

汇编语言 大小写字母转换

汇编语言 大小写字母转换

DATA SEGMENT ;数据段ARRAY DW 5 DUP(0) ;数组名COUNT DW 5 ;数组大小RESULT DW 5 DUP(0) ;转换结果ADDRESS DW 3 DUP(0) ;地址表STRING1 DB 'Transportation$'STRING2 DB 'Please enter 5 small letters,press 0 TO exit:$'STRING3 DB 'Capital letters are :$'ATTENTION1 DB 'Can not transport the letters $'DATA ENDSENTER1 MACRO ; 宏定义回车MOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHINT 21HENDMSTACK1 SEGMENT ;堆栈段DW 40H DUP(0)STACK1 ENDSCODE SEGMENT ;代码段ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXSTART2:MOV DX,OFFSET STRING2 ;显示字符串 'Please enter 5 small letters,press 0 TO exit:'MOV AH,09HINT 21HXOR DX,DX ; 清空DXMOV SI,0 ; 清空SILP:MOV AH,01H ; 键盘输入并回显,AL中有输入字符INT 21HCMP AL,'0' ; 如果输入的是0,调转到退出段JE EXITCMP AL,'a' ; 小于则转移JB ATTENTIONCMP AL,'z'JA ATTENTION ; 大于转移MOV BYTE PTR ARRAY[SI],AL ; 将AL中的字符存入数组中INC SI ;si+1CMP SI,5 ; 判断是否已存入五个字符JNE LP ; 如果没存够继续循环输入并存储(当输入超过五的时候之前的存储会被覆盖)MOV ADDRESS,OFFSET ARRAY ; ARRAY地址存入地址表MOV ADDRESS+2,OFFSET COUNT ; COUNT地址存入地址表MOV ADDRESS+4,OFFSET RESULT ; RESULT地址存入地址表MOV BX,OFFSET ADDRESS ; 地址表装入BXCALL TRANSPORT ; 调用大小写转换的程序ENTER1JMP START2 ;可以循环执行输入和转换程序MOV AH,4CH ;退出INT 21HEXIT: ;退出段ENTER1MOV AH,4CHINT 21HATTENTION: ; 提示输入错误ENTER1LEA DX,ATTENTION1 ;显示字符串'Can not transport the letters $'MOV AH,09HINT 21HENTER1JMP START2 ;继续循环输入和转换程序TRANSPORT PROC ;proc 与 ENDP 子程序在伪指令中成对出现PUSH AX ; 保护现场PUSH BXPUSH SIPUSH DIMOV SI,[BX] ; ARRAY地址存入SIMOV DI,[BX+2] ; COUNT地址存入DIMOV CX,[DI] ; COUNT内容取出,存入CX作为计数器,为loop组准备MOV DI,[BX+4] ; RESULT地址存入DIXOR AX,AX ; 清空AXLOP:MOV AX,[SI] ; 从数组中取出一个字符并转换为大写SUB AX,20H ; 大小写字母ASC码相差32MOV [DI],AX ; 将转换结果存入RESULT中INC SI ; ARRAY数组标号+1INC DI ; RESULT数组标号+1LOOP LOP ; loop执行过程中CX自动减1直至0ENTER1MOV BYTE PTR[DI],'$' ;; ENTER1MOV DX,OFFSET STRING3 ; 显示字符串'Capital letters are :' MOV AH,09HINT 21HMOV DX,OFFSET RESULT ; 显示转换结果(RESULT数组内容)MOV AH,09HINT 21HPOP DI ; 恢复现场POP SIPOP BXPOP AXRET ;如果子程序中没有RET子程序会自陷TRANSPORT ENDPCODE ENDSEND START ;。

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

汇编字母大小写转换

汇编字母大小写转换

;这是自动生成的代码模板;(可以输入任意长度大小写或大小写混合字符串,并转换成纯大写或小写字符串)DATAS SEGMENT ;数据段DATA1 DB 100 DUP(?)STRING1 DB 0DH,0AH,'$'STRING2 DB 'PLEASE INPUT STRING:',0DH,0AH,'$'STRING3 DB 'THE RESULT=',0DH,0AH,'$'DATAS ENDSSTACKS SEGMENT STACK ;堆栈段DW 128 DUP(?) ;注意这里只有128个字节STACKS ENDSCODES SEGMENT ;代码段ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS ;初始化MOV DS,AXMOV ES,AXMOV BX,0LEA DX,STRING2 ;提示输入MOV AH,09INT 21HINPUT:MOV AH,01 ;输入字符放在AL中INT 21HCMP AL,0DHJE HUANHANCMP AL,5BHJNC CHANGEMOV DATA1[BX],AL ;AL中的字符存入DATA1的第BX位INC BXLOOP INPUTCHANGE:SUB AL,20H ;小写转大写;ADD AL,20H ;大写转小写MOV DATA1[BX],ALINC BXJMP INPUTHUANHAN:LEA DX,STRING1 ;换行,回车MOV AH,09INT 21HLEA DX,STRING3 ;提示输出MOV AH,09INT 21HSHUCHU:MOV DATA1[BX],'$'LEA DX,DATA1 ;把字符串的首地址放进DXMOV AH,09 ;输出DATA1中已经改变了的字符串 INT 21HMOV AX,4C00H ;退出程序INT 21HCODES ENDSEND START。

汇编语言系列之汇编实现各种码制的转换(思路详解)

汇编语言系列之汇编实现各种码制的转换(思路详解)

汇编语⾔系列之汇编实现各种码制的转换(思路详解)⽬录1.⼗六进制转换为⼆进制数设计1.1设计要求:1.2设计思路:1.3程序清单:1.4程序运⾏结果及分析:2.⼗六进制转换为⼗进制数设计2.1设计要求:2.2设计思路:2.3程序清单:2.4程序运⾏结果及分析:3.⼗六进制转换为ASCII码3.1设计要求:3.2设计思路:3.3程序清单:3.4程序运⾏结果及分析:4.英⽂字母⼤⼩写转换设计4.1设计要求:4.2设计思路:4.3程序清单:4.4程序运⾏结果及分析:软件:emu8086语⾔:汇编语⾔(Assembly)注意:本⽂列出了⼗六进制转⼆进制、⼗进制、ASCII码及⼤⼩写字母转换的代码,全部代码为博主独⾃⼀⼈编写,会有瑕疵,谨慎使⽤。

1.⼗六进制转换为⼆进制数设计1.1设计要求:设计转换程序,将键盘键⼊的四位⼗六进制数据转换为等值的⼆进制数,并在终端显⽰。

要求:完善程序结构,设置程序错误出⼝。

输⼊的不是0-F间的值,显⽰错误提⽰信息,并要求重新输⼊。

1.2设计思路:依次输⼊四个⼗六进制数并依次存放到BX中,最后将BX中结果⼀位⼀位输出为⼆进制。

1.3程序清单:DATA SEGMENTpkey DB "pleas input 4 hex(0~F):$"ekey DB 0dh,0ah,'it is wrong!',0dh,0ah,'pleas input 4 hex(0~F) again:','$'huiche DB 0dh,0ah,'result is:',0dh,0ah,'$'numm DB 5 dup(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTATE:MOV AX,DATAMOV DS,AXMOV CX,4 ;输⼊⼗六进制数循环4次LEA SI,numm ;开辟变址寄存器SILEA DX,pkeyMOV AH,9INT 21H ;DOS功能调⽤,输出字符串lp: MOV AH, 1INT 21H ;DOS功能调⽤,输⼊4个⼗六进制数CMP AL,'9'JA abow9CMP AL,'0'JB eeroSUB AL,30h ;输⼊为0~9时ASCII码减30H存放JMP lopeero:LEA DX, ekey ;输⼊不在0~9且不在A~F时,显⽰错误MOV AH, 9INT 21HJMP lpabow9:CMP AL,'A'JNB abowaJMP eeroabowa:CMP AL,'F'JA eeroSUB AL,37h ;输⼊为A~F时ASCII码减37H存放JMP loplop: MOV [SI],ALROL BX,4ADD BX,[SI] ;将输⼊的数据存⼊BX寄存器中INC SIDEC CXJNZ lpMOV CX,16 ;输出⼆进制数循环16次LEA DX,huicheMOV AH,9INT 21H ;DOS功能调⽤,输出字符串lp1: ROL BX,1 ;左移1位后显⽰的是最⾼位MOV DL,BLAND DL,01H ;屏蔽DL⾼7位ADD DL,30H ;加30H对应ASCII码MOV AH,2INT 21H ;DOS功能调⽤,将内容按位输出DEC CXJNZ lp1CODE ENDSEND STATE1.4程序运⾏结果及分析:存放和输出时会遇到⼀些⼩问题,本程序通过移位和加法指令实现存放,⽐较⿇烦但可以实现,后⾯的程序有所改进。

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