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

设计 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.运转结果显示:。
06简单电子琴程序设计

写在文档前面程序为汇编语言编QASM2.7编译,环境为WIN XP(注意在64位机汇编程序无法编译,最好装虚拟机)目录一.摘要 (1)二.原理分析 (2)2.1 设计要求 (2)2.2 需求分析 (2)2.3原理分析 (2)三.程序设计 (5)3.1程序流程图 (5)3.2程序代码 (6)四. 程序调试及运行结果 (7)4.1程序的调试 (7)4.2运行结果 (7)4.3结果分析 (9)五. 心得体会 (10)六.参考文献 (11)附录 (12)一.摘要汇编语言(Assembly Language)是面向机器的程序设计语言,汇编语言包括两个部分:语法部分和汇编器。
语法部分提供与机器指令相对应的助记符,方便指令的书写和阅读。
当然,汇编语言的符号可以被人类接受,但不能被处理器识别,为此,还要由汇编语言编译器将这些助记符转换成机器指令,这个组装的过程称为组合或汇编。
本次课程设计中主要运用汇编语言编写简单电子琴程序,利用轻松汇编程序QSAM进行汇编。
在简单电子琴程序中,由PC机键盘输入1-7音符并存储,并根据不同音符对应的频率设置定时器初值,调用扬声器播放。
关键字:汇编,电子琴,音符,频率二.原理分析2.1 设计要求(1)编写一个利用1至7演奏音符的程序;(2)程序能记录所演奏的音乐;(3)程序能回放记录的音乐;(4)程序采用汇编语言在PC机上完成;2.2 需求分析根据设计要求:首先,此电子琴程序需要在PC机上用汇编语言完成,演奏的音符必须调用PC机的扬声器完成。
第二,演奏1至7音符,即要求演奏不同频率的音符,需找到对应1-7音符的频率,可从音符频率对照表中找到对应频率,调用BIOS,以播放该频率音符。
第三,程序通过记录输入数据,和调用播放子程序可达到记录演奏的音乐和回放记录的音乐的功能。
第四,操作界面简洁易懂,让使用者能通过提示进行正确的操作;第五,通过汇编工具程序QSAM调试程序代码并运行,生成可执行.exe文件。
打字练习

课程设计任务书学生姓名:陈德君专业班级:自动化0804指导教师:苏义鑫工作单位:自动化学院题目: 打字练习程序设计初始条件:带有编辑器、汇编程序、连接程序和调试程序的电脑一台。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)采用汇编语言设计一个打字练习程序,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失。
按Q退出程序。
(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(5)调试记录及结果分析(6)总结(7)参考资料(8)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:1月10日~1月12日:收集资料,方案选择1月13日~1月16日:整体流程,程序细节1月17日~1月20日:调试程序,报告撰写1月21日:交设计报告,程序演示,答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录1 设计的整体原理基础 (1)1.1 设计目的 (1)1.2 设计任务 (1)1.3 程序设计原理分析 (2)1.4 程序流程图 (3)1.4.1主程序流程图 (3)1.4.2延时程序流程图 (4)2 程序代码分析 (4)2.1 主菜单程序设计 (4)2.2打字阶段程序设计 (6)3 调试结果记录及分析 (11)4 设计过程用到的DOS及BIOS (12)4.1 DOS功能中的屏幕输出 (12)4.2 BIOS中的屏幕操作功能 (12)5总结 (13)6参考文献 (14)附录: (15)打字练习程序设计1 设计的整体原理基础1.1 设计目的通过本次课程设计,主要想达到以下目的:1. 进一步加深对汇编语言的理解,使真正的学有所用。
2. 使掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等。
3能够正确运用书上的语句进行简单功能的设计,在不断的编程与检查问题的过程中提高自己的能力,真正达到学习知识的目的。
汇编语言程序设计

《汇编语言程序设计》课程教学大纲学时:32 学分:2理论学时:24 实验学时:8面向专业:电科、电信、通信课程代码:B2700009先开课程:C语言程序设计课程性质:必修执笔人:王艳春审定人:陈龙猛、张金政第一部分:理论教学部分一、说明1、课程的性质、地位和任务本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。
掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。
汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。
因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。
通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。
2、课程教学和教改基本要求课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。
通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。
学习这门课程,应达到以下几个要求:①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧;②具有阅读,分析汇编语言程序的能力;③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行过程及debug工具的调试手段。
课堂授课采用多媒体教学,采用由浅入深、循序渐进学习步骤,主要讲解设计思想、实现技巧,通过提问题引导学生思考,提高学生的学习兴趣,从而加深学生对理论课的理解,提高学生的动手能力。
二、教学内容与课时分配第一章基础知识(2学时)1.1 机器语言及汇编语言的产生1.2 汇编语言的组成1.3 存储器1.4 指令和数据1.5 存储单元及CPU对存储器的读写1.6 三大总线1.7 主板、接口卡及各类存储器芯片1.8 内存地址空间教学的重点与难点:指令和数据在内存或磁盘上没有区别;内存地址空间。
汇编语言课程设计四则运算计算器

*******************实践教学*******************兰州理工大学技术工程学院2013年春季学期汇编语言实训课程设计题目:四则运算计算器专业班级:计算机科学与技术姓名:___郭利强_____学号: 11730108指导教师:刘树群成绩:计算机科学与技术专业(11级)汇编语言实训课程设计任务书题目:四则运算计算器班级: 11计算机科学与技术1班学生姓名:郭利强学号: 11730108 题目类型:软件工程(R)指导教师:刘树群一.题目简介四则运算计算器,主要是为了解决数学中的加、减、乘、除四则运算的问题。
通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对汇编语言基本语言要素和流程结构的理解,针对汇编语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
得到软件工程的综合训练,提高解决实际问题的能力。
二.设计任务1、查阅文献资料,一般在5篇以上;2、要求可以进行四则运算;3、完成软件结构设计和算法设计;4、完成系统的软件开发和测试工作;5、撰写设计说明书;6、做好答辩工作。
三.主要内容、功能及技术指标1、实现功能及指标:①使用Win32的窗口程序模式,实现四则运算程序的设计与开发;②界面友好。
2、问题分析及解决方案框架确定:充分地分析和理解问题本身,弄清要求做什么。
在确定解决方案框架过程中,综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。
最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系,并画出函数之间的调用关系图。
3、详细设计和编码:定义相应的存储结构,确定各个函数的算法,并画出流程图,在此基础上进行代码设计,每个明确的功能模块程序一般不超过200行,否则要进一步划分。
4、上机前程序静态检查:上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。
静态检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。
单片机课程设计电子琴 (汇编语言)

目录1. 引言 (1)1.1. 设计的目的 (1)1.2. 设计的内容与要求...................................错误!未定义书签。
2. 总体设计 (1)2.1. 音乐产生原理 (1)2.2. 设计流程 (3)3. 硬件设计 (8)3.1. AT89C51芯片简介 (8)3.1.1 主要特性 (8)3.1.2 功能描述 (8)3.1.3 引脚说明与硬件连接 (9)3.2. 元器件清单 (13)4. 系统工作说明 (13)5. 结束语 (14)5.1 收获与体会 (14)5.2 遇到的问题与解决方法 (15)5.3 教程建议 (15)6.参考文献 (15)7. 附录 (16)1. 引言1.1 设计的目的本设计的主要目的是掌握单片机系统的开发应用,掌握prteus和keil C51软件的应用,巩固和加深已学过的知识,提高动手能力及解决实际问题的能力,同时培养团队合作精神。
1.2. 设计内容与要求(1)本设计以AT89C52单片机为核心控制元件设计一个电子琴,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个弹奏按键、1个播放按键和扬声器,并且按下时按键发声,松开延时一段时间停止,中间再按别的键则发另一音调的声音。
16个按键设置成4x4矩阵键盘,能弹奏出 16个音,添加歌曲程序同时能够播放出歌曲。
(2)利用软件 keil C51进行程序的调试。
(3)利用proteus软件画电路图,并在单片机加载程序进行仿真。
(4)根据电路图运用proteus软件的布局和布线功能绘制PCB图并输出显示电路的3D图。
(5)根据电路图、PCB图和3D图快速地焊接电路。
(6)下载程序代码,调试(Easy 51Pro)。
2. 方案总体设计2.1. 音乐产生设计原理一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。
汇编语言程序设计习题-答案

汇编语⾔程序设计习题-答案4.1 分析执⾏下列指令序列后的结果:1)MOV AX,1234HMOV BX,00FFHAND AX,BX【答】(AX)=0034H2)MOV AL,01010101BAND AL,00011111B ;(AL)=00010101BOR AL,11000000B ;(AL)=11010101BXOR AL,00001111B ;(AL)=11011010BNOT AL【答】(AL)=00100101B3)MOV DL,05HMOV AX,0A00HMOV DS,AXMOV SI,0HMOV CX,0FHAGAIN: INC SICMP [SI],DLLOOPNE A GAINHLT本程序实现了什么功能?【答】在以0A001H开始的15个单元中查找05H。
4)MOV AX,DSEGADDRMOV DS, AXMOV ES,AXMOV SI, OFFSET B1ADDRMOV DI,OFFSET B2ADDRMOV CX,NCLDREP MOVSBHLT本程序实现了什么功能?MOV DS,AXMOV ES, AXMOV AL,05HMOV DI,0A000HMOV CX,0FHCLDAGAIN: SCASBLOOPNE AGAINHLT本程序实现了什么功能?【答】从地址0A000H开始的15个单元中查找字节型数据05H,⽤条件循环LOOPNZ,控制数据05H的查找。
4.2 阅读程序:1). CLDLEA DI,[0100H]MOV CX, 0080HXOR AX, AXREP STOSW本程序实现了什么功能?【答】将DS中起始地址为0100H的128个字节单元清零。
2). MOV AL, 08HSAL AL,01H ;(AL)=00010000HMOV BL, ALMOV CL ,02HSAL AL,CL ;(AL)=01000000HADD AL,BL ;(AL)=01010000H本程序实现了什么功能?【答】将AL中的内容乘以10。
生肖查询汇编语言程序设计

目录1.课程设计方案 (3)1.1程序设计目的与要求 (3)1.2总体设计思路 (3)1.3系统功能 (3)2.程序流程图设计 (4)2.1主程序流程图设计 (4)2.2子程序取数流程图设计 (4)3程序段落的说明 (7)3.1列写十二生肖字符串地址表 (7)3.2键盘输入与检测 (7)3.3判断生肖算法,循环查询及输出显示 (8)4程序调试说明、结果记录与分析 (9)4.1程序调试过程 (9)4.2课程设计的实验结果 (9)5.设计总结 (10)6.参考文献 (11)摘要汇编是低级语言,对一个人的编程思想要求很高。
可以用的资源少,某些指令只能用某些寄存器,而且指令也不多,也不方便。
所以怎么能尽量少的用寄存器,怎么能充分利用每一份资源,就成了程序员的首要问题。
同时,要能熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用debug指令。
在整个程序的编写中,调试占了很大部分的时间。
要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,大量DOS系统功能调用等辅助程序,这对程序的调试是非常重要的。
本次课程设计是运用汇编语言做生肖查询设计,需要用到很多指令和寻址方式,整个程序有两大结构体,包括主程序结构和输入年份子程序结构,主程序机构是整个程序的大体框架,包含开始,对生肖的寻址,结束等过程,输入年份子程序则是从键盘输入年份的判断和确定。
整个程序有几大功能模块,有数据段部分,堆栈段部分,代码段部分,子程序部分,循环部分,条件转移部分。
关键字:汇编语言,debug指令,DOS系统,生肖查询,子程序生肖查询汇编语言程序设计1.课程设计方案1.1程序设计目的与要求1)增进对汇编语言的认识,加强用汇编语言编程的能力;2)掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等;3)进一步掌握屏幕输出显示的设计方法;4)设计一个程序判断该年份的年份生肖;5)设计一个程序,实现年份从键盘输入,通过运行计算后,输出相应信息。