当前位置:文档之家› 微机原理-比赛评分系统程序设计

微机原理-比赛评分系统程序设计

微机原理-比赛评分系统程序设计
微机原理-比赛评分系统程序设计

摘要

汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。

用汇编语言编写程序能够直接利用硬件系统的特性直接对位、字节或字寄存器、存储单元、I/O端口进行处理,同时也能直接使CPU指令系统和指令系统提供的各种寻址方式编出高质量的程序。

关键词:微机汇编端口

比赛评分系统程序设计

1初始条件及要求完成的主要内容

1.1初始条件:

用汇编语言编写程序计算某次比赛的成绩。

1.2要求完成的主要内容:

(1)比赛选手人数控制在30以下;

(2) 9个评委,每个评委给分范围为0~10分(整数),随机给出分数;

(3)9个评委的给分中,去掉一个最高分和一个最低分,余下7位评委的平均分即为参加者的得分(精确到小数点后一位);

(4)将分数在屏幕中间位置处用红色显示出来;

(5)将参加比赛的选手的排名顺序显示出来;

(6)撰写设计说明书及调试心得。

2设计方法与构想思路

这次课程设计中用到了汇编语言程序的四种基本结构:顺序结构、分支结构、循环结构和子程序。

顺序结构程序一般是简单程序,它是顺序执行的,无分支、无循环,也无转移,因此也称为直线程序。

分支结构程序是指程序在按指令先后的顺序执行过程中,遇到不同的计算结果值,需要计算机自动进行判断、选择,决定转向下一步要执行的程序段。

程序中的某些部分需要重复执行,设计者不可能将重复部分反复地书写,那样程序会显得很长。只要选好参数,将程序中重复执行部分构成循环结构,这样设计的程序既美观又便于修改。循环结构每次测试循环条件,当满足时,重复执行这一段程序;否则结束循环,顺序往下执行。由于循环程序需要循环准备、修改变量、结束控制等指令,执行的速度会稍慢些。

我们将一个具有特定功能的代码块定义为一个过程(或子程序)。

这次主要采用循环结构和子程序的基本结构形式,编写程序产生9个0~10的随机数,找出这9个数中的最大和最小的数,即评委给出的最高分和最低分,分别保存。

再对这9个数求和,减去前面保存的最大数和最小数,所得的值除以7,即为选手的得分,分别保存整数部分和小数部分。保存该分数并在屏幕中间用红色显示出来。以上过程循环23次,然后对每次得出的选手得分进行排序并调用BIOS功能使字符为红色显示。

为了使程序方便阅读和修改,减少编程工作量,节省存储空间,并易于实现程序的模块化,在编写程序的时候会涉及子程序的设计。在程序设计的过程中,可以把一些具有特定功能的程序段独立出来,按一定的格式编写,成为可以被其他程序多次调用的程序。汇编源程序中的CALL和RET指令就是完成调用和返回功能的。

在编写程序时,要养成良好的程序书写习惯,比如标号对齐、参数对齐、注释对齐,这样看起来赏心悦目,也不容易出错。标号最好采用有意义的英文,这样比较直观,注释尽量详细准确,便于以后读懂,而且有利于其它程序中作为子程序模块的调用。还有要注意典型程序模块的积累,再复杂的程序也是由一个个小程序模块组成的。

在处理实际问题时,设计程序必须要考虑到实际的应用,对所要解决的问题进行全面了解和分析,依据给出的条件和数据,对输入信息、处理过程、输出结果进行可行性分析。在分析问题明确要求的基础上,要建立数学模型,将问题用数学形式表达出来。3程序流程图

流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。

程序流程图表示程序中的操作顺序。

程序流程图包括:

(1)指明实际处理操作的处理符号,它包括根据逻辑条件确定要执行的路径的符号;(2)指明控制流的流线符号;

(3)便于读.写程序流程图的特殊符号。

流程图是算法的图形描述,它以图形的方式把解决问题的先后次序和程序的逻辑结构直观地、形象地描述出来,使得编程的思路清晰,有利于编制、调试程序。

3.1主程序流程图

一个完整的程序比较长,并且结构复杂,如果只用一个程序流程图来表示,那么流程图肯定很复杂,很难读懂。所以这次课程设计用一个主程序流程图和几个子程序流程图来表示复杂的程序。

下面先介绍一下主程序流程图,如果3-1所示。由主程序流程图可以看出程序的主要设计思路和整体框架。

图3-1 主程序流程图

3.2子程序流程图

由于汇编语言本身的多样性与灵活性,汇编语言程序的结构化程度以及易读程度均不理想。为了更好地辅助分析汇编语言程序的功能,根据汇编指令对程序静态流程的影响,对不同类型处理器的汇编指令进行了统一的分类,并在此基础上详细讨论了一种绘制汇编子程序流程图的算法。最后利用程序基本模块的概念,对该算法进行了改进。

子程序是为了使程序方便阅读和修改,减少编程工作量,节省存储空间,并易于实现程序的模块化。子程序流程图也是为了让程序流程图便于读者阅读。下面介绍这次课程设计程序中所用到的两个主要子程序。

第一个子程序流程图如下所示。

图3-2-1 用冒泡排序法对选手最终得分降序排序

以上是数据的排序采用冒泡法降序排列,将其两两比较。前一个数较大,则不改变原位置,否则两数交换,一次将全部数据排序,排序的次数由需要排序的数据个数决定。这种排序方法是从最低部的元素开始进行比较,较小的元素将会像气泡一样往上冒。

在排序的过程中,外循环遍历要排序的元素,内循环用于挑选出最值。内循环用于将相邻的两个元素进行比较,将小的元素调到大元素的前头,内循环的循环次数表示相

邻元素的交换趟数。

图3-2-2 将平均得分余数转化为平均得分小数,并显示

另外,在这次课程设计程序中,除了以上两个主要的子程序外,还要编写其他子程序,如显示字符串,产生随机数,控制字体颜色等等。正是利用这些子程序,才使整个程序和流程图简洁明了,便于读者阅读。

4程序运行结果

经过调试运行,得出了随机给出的23位选手得分的运行结果,如图4-1所示。

图4-1 随机给出的选手得分

最终排名和选手所得分数如下图所示。从下图可以看出23为选手的成绩和排名,排名是按照平均得分从高到底,最后一列为选手平均得分成绩,并用红色字显示。

图4-2 各选手排名情况

还有,最后的退出提示,如下图4-3所示。

图4-3 退出提示

5心得与体会

转眼间,短暂的微机原理课程设计已告一段落。此次课程设计的练习,试我感觉到自己从中收获了很多,同时对于刚学过的微机原理知识也得到了进一步的提高与巩固。在课堂上我们学习的都是理论知识,而课程设计则锻炼我们将这些理论运用到实际的生活中去的能力。在日常的学习中我们掌握的仅仅是专业基础课的理论,如何将其真正灵活的学以致用,运用到实践中去,此类的课程设计则为我们搭建了很好的实践平台。

通过这次的课程设计,我深深的感觉到这次的课设是比较难的,比较复杂的,让我深深的感觉到自己的不足。这次课设是一次具有挑战性的实践课程,在整个课程设计过程中我遇到很多困难。

首先是在处理题目上遇到一些问题,在理解题意分析时,出现偏差,导致编写程序的错误,从中明白到要做到理论联系实际是相当困难的。而且在写报告过程中发现自己对于课本的理论知识的理解是多么的匮乏,以致在报告中对于理论的阐述和自己的见解

是很寥少的。

由于我们是初学汇编语言,再加上我平常上课又没有好好认真学,课后作业也不太会做。所以这次的实践对于我真的非常困难,但我们不能放弃,只能慢慢地一点点搞。经过很多天的努力,通过查阅资料,询问同学和老师,不断地调试,才慢慢把程序编写出来。

通过这次的课程设计我学会了很多东西,让我更对课堂上学到的汇编语言知识进行了巩固和加深。特别是对8086系统的汇编指令有了更深刻的认识。我了解到理论联系实际是多么重要,同时又是多么的困难,还有平时学习一定要认真踏实,把理论知识要弄懂要理解消化为自己的知识,同时要学会在理论学习时善于思考,多得一些自己的想法和思路,并且多读一些课外书,开阔视野增长一些课外知识。

感谢这次课设过程中给予我帮助同学和老师,并且感谢学校给予我们这次机会提高自己的实践能力。这次的课设终于结束了,我感到什么事都不应该轻易放弃,只要努力就会有结果。再次深深的感谢老师对于我的帮助与指导,使我学到这么多东西,也再次感谢给予我帮助的同学们!

参考文献

[1]姚燕南,薛钧义.微型计算机原理.西安电子科技大学出版社,2004

[2]韩雁,徐熠明.微机原理与接口技术.电子工业出版社.2004

[3]王钰,李玉贤等.微机原理与汇编语言.电子工业出版社,2008

[4]沈美明,温冬婵.IBM-PC汇编语言程序设计.清华大学出版社,2001

[5]彭虎,周佩玲.微机原理与接口技术.电子工业出版社,2005

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

微机原理实验三子程序设计实验

实验三 子程序设计实验 一、实验目的 1.学习子程序的定义和调用方法。 2.掌握子程序的程序设计、编制及调用。 二、实验设备 TDN86/88教学实验系统一台 三、实验内容及步骤 1.求无符号字节序列中的最大值和最小值 设有一字节序列,其存储首址为3000H ,字节数为08H 。利用子程序的方法编程求出该序列中的最大值和最小值。实验程序及流程如下: 主程序 STACK1 SEGMENT STACK DW 64 DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE START: MOV SI,3000H MOV CX,0008H CALL branch A1: JMP A1 branch: JCXZ A4 PUSH SI PUSH CX PUSH BX

子程序 实验步骤 (1)输入源程序,进行编译、链接和加载。 (2)在调试区键入E0000:3000↙,输入8个字节的数据:D9、07、8B、C5、EB、04、9D、F9。 (3)运行程序,查看结果,在调试区键入R AX↙,显示结果应为AX=F9 04,AH中为最大值,AL中为最小值。 2.数组求和 设有一字节序列(存储地址和字节数可自定义),编写程序,求出该序列的和,求和工MOV BH,[SI] MOV BL,BH A1: LODSB CMP AL,BH JBE A2 MOV BH,AL JMP A3 A2: CMP AL,BL JAE A3 MOV BL,AL A3: LOOP A1 MOV AX,BX POP BX POP CX POP SI A4: RET CODE ENDS END START

微机原理子程序设计

实验三子程序设计 1、实验目的: (1)熟悉汇编语言的编辑、汇编、连接、运行的全过程。 (2)了解汇编语言的程序结构、学习调用过程实现输入输出及用INCLUDE 命令包含文件的方法。 (3)子程序设计 2.实验步骤: (1)用编辑软件记事本或EDIT 编辑一个扩展文件名为ASM的汇编语言源程序。 (2)用汇编程序TASM 汇编上述的汇编语言源程序,形成目标代码文件。 (扩展名为OBJ) (3)用连接程序TLINK连接目标代码文件,形成可执行文件。(扩展名为EXE) (4)运行可执行文件。观察执行结果,以验证其正确性。 3.实验内容: (1)从键盘上输入若干个十进制数(-32767

again1: mov ax,[si] cmp ax,[si+2] jle next1 xchg ax,[si+2] xchg ax,[si] next1: add si,2 loop again1 mov cx,di loop again2 mov ah,9 lea dx,out_message int 21h mov cx,count ;输出(升序) lea si,array again3: mov bx,[si] call write call dpcrlf inc si inc si loop again3 mov ax,4c00h int 21h INCLUDE out_B_D.ASM INCLUDE in_D_B.ASM END (2)从键盘上输入若干个十进制数(-32767

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

微机原理实验报告——分支程序设计

实验三 分支程序设计 一、实验要求和目的 1.熟悉汇编语言程序设计结构; 2.熟悉汇编语言分支程序基本指令的使用方法; 3.掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法。 二、软硬件环境 1.硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2.软件环境:装有MASM 、DEBUG 、LINK 和EDIT 等应用程序。 三、实验涉及的主要知识单元 在实际应用中,经常根据一些条件来选择一条分支执行。汇编语言的条件判断主要是通过状态寄存器中的状态位、无符号数相减或有符号和相减而导致的结果来进行。下面就有符号数转移指令来了解在汇编语言程序设计方法。 四、实验内容与步骤 1.实验内容 (1)编写计算下面函数值的程序: ?? ? ??<-=>=0,10,00,1x x x y 设输入数据为X 、输出数据Y ,且皆为字节变量,使用Debug 查看X 、Y 两个变量的 数据 (2)以ARRAY 为首地址的内存单元中,存放5个8位的不带符号数,找出5个数中的最大数,并将结果存入RESULT 字节单元中。 2.实验步骤 a.实验流程图 (1)计算函数值的流程图

b.编写程序 (1)计算函数值的实验代码 DATA SEGMENT X DB 12 Y DB ? DATA ENDS STACK SEGMENT STACK'STACK' DB 100H DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AL,XX CMP AL,0 ;把AX 与0比较 JGE BIGPR ;0≥AL 转入BIGPR MOV Y,0FFFFH ;0AL 则1=Y JMP EXIT EQUPR: MOV Y,0 ;0=AL 则0=Y EXIT: MOV AL,Y RET CODE ENDS END START

微机原理与接口技术汇编子程序涉及

试验五汇编子程序设计 一、试验目的 (1)掌握汇编子程序设计的一般方法; (2)掌握汇编子程序的调试方法; (3)掌握递归子程序设计与调试方法。 二、输入输出子程序 1、十进制数输入子程序decibin 子程序名:decibin 子程序功能:用户输入十进制数放在BX中 入口参数:无 出口参数:BX存放输入的十进制数 受影响的寄存器:AX、BX、CX、DX和标志寄存器 注意:①用户输入字符‘0’~‘9’,当输入非法字符时结束输入,如回车; ②十进制数位数可以是1位、2位等,范围0~65535。 decibin proc near mov bx , 0 newchar: mov ah , 1 int 21h mov dl , al sub al , 30h jl exit1 cmp al , 9 jg exit1 cbw xchg ax , bx mov cx , 10 mul cx xchg ax , bx add bx , ax jmp newchar exit1: ret decibin endp 2、十六进制数输入子程序hexibin 子程序名:hexibin

子程序功能:用户输入十六进制数放在BX中 入口参数:无 出口参数:bx存放输入的十六进制数 受影响的寄存器:ax、bx、cx和标志寄存器 注意:①用户输入0ah~0fh的数字时,输入大写字母‘A’~‘F’,小写字母‘a’~‘f’无效; ②子程序不能控制数的位数可能0位、1位、2位……等位数,如果输入位数大于4位,则以最新的4位十六进制数为准; ③输入字符可以按回车结束,当输入任何非法字符时也能结束数据输入。 hexibin proc near mov bx , 0 newchar: mov ah , 1 int 21h sub al , 30h jl exit cmp al , 10 jl add_to sub al , 7 cmp al , 0ah jl exit cmp al , 10h jge exit add_to: mov cl , 4 shl bx , cl mov ah , 0 add bx , ax jmp newchar exit: ret hexibin endp 3、十进制数显示子程序binidec 子程序名:binidec 子程序功能:将bx寄存器存放的数以十进制的形式显示出来 入口参数:bx存放要显示的数 出口参数:无 受影响的寄存器:ax、bx、cx、dx和标志寄存器

测量技能大赛竞赛项目及评分标准

测量技能大赛竞赛项目及评分标准 一、竞赛内容 1.支水准路线测量 参赛组在规定的时间内独立完成指定支水准路线测量;要求由一个已知高程点,测出四个待测点并现场进行内业计算,每人至少观测一测站。路线概括见附页。 2、水平角测量: 参赛组必须在35分钟内独立完成指定水平角的角度测量;要求独立完成经纬仪架设、指定水平角两个测回的测量过程,并现场进行内业计算,每人至少测半测回。 二、选手完成工作任务的时间 完成“支水准路线测量”竞赛,规定用时为25分钟;完成“经纬仪侧角” 竞赛,规定用时为25分钟;计时都是从选手开箱起,到放好仪器并递交成果止;以现场裁判计时为准。 三、大会提供的竞赛场地仪器设备 1.支水准路线测量竞赛,由学校提供比赛场地、测量仪器、配套脚架及两根3m DS 铝合金塔尺、2根3m双面尺、记录表格、指定水准路线。其中测量仪器使用3 级自动安平水准仪。 2.水平角度测量竞赛,由学校提供比赛场地、测量仪器及附件、记录表格、。其 DJ级普通光学经纬仪。 中测量仪器使用6 四、选手自带工具 1.支水准路线测量竞赛:签字笔、计算器(不带程序存储功能)、对讲机等。 2.经纬仪角度测量竞赛:签字笔、铅笔、铅笔刀、橡皮、计算器(不带程序存储功能)等。 五、主要技术要求 1.支水准路线测量竞赛,待测点高程值限差≤10mm。

2. 水平角测量竞赛,要求上下半测回角值之差04''≤?β,两测回角值之差04''≤'?β,各测回平均角值与理论值之差不得超过04''。注:理论值由裁判组提供,比赛完成后公布。 六、知识准备 熟练掌握水准仪的规范使用知识;掌握支水准路线测量观测和计算等相关知识。熟练掌握经纬仪的使用知识;掌握测回法水平角测量相关知识。 七、比赛流程 1、赛前5分钟到检录处检录 ? 2、确认测站点,熟悉场地,填写基本信息 ? 3、检查仪器,做好开始比赛准备 ? 3、发令员宣布比赛开始 ? 4、测量、记录、计算,整理仪器 ? 5、组长签字确认测量成果 ? 6、裁判员确认用时 ? 7、裁判员上交成绩单 ? 八、零分项说明 1.比赛选手不尊重裁判; 2.比赛选手恶意损坏仪器; 3.比赛选手弄虚作假、替考、作弊者; 4.未经裁判员同意擅自收仪器者; 5.擅自涂改原始数据者。 九、参赛规则 1.竞赛采用团队比赛形式,每个参赛组由3名选手组成,男女不限,参加两项竞赛项目为同一组选手。 2.各队参赛顺序提前一天由抽签决定,两竞赛项目分别抽签。 3.参赛选手必须按照规定大会规定的参赛时间参加检录、进入比赛场地。

微机原理实验五输入与输出程序设计

实验六输入与输出程序设计 一、实验目的 1?掌握常用DOS中断调用的功能以及在应用程序中的使用方法。 2?学习键盘输入和屏幕输出的基本方法。 3?宏指令、子程序在应用程序屮的使用。 4?汇编语言程序设计的调试与完善。 二、设计指标与实验要求 1.设计内容 本实验要求设计完成:①屏幕输出提示(如〃Want in put (Y/N)? ”),若键入N则结束程序返回操作系统;键入Y则转2步;键入的是其它字母则回①步。②换行后输出提示(如"please in put a strings :”),且在该提示后键入一字符串(输入到输入缓冲区) ③换行后输出提不(如"your in putt ing is :”),在该提不后输出由②步输入的字符串。 ④换行后输出提示“Want continue (Y/N)? ” ,若键入Y则转②步;键入N则结束程序返回操作系统;其它字母则回第④步。 2 ?设计要求 ①按屏幕提示要求输入,从屏幕上获得正确结果。 ②把程序屮常用的屮断调用定义成宏指令(至少定义2个)。 ③字符串回显部分设计成子程序,可以选择用21H中断的2号或9号功能来实现,应能显示由 主程序指定的任一字符串。要注意这两种方法实现的设计过程是不同的。 采用2号功能的,子程序输入参数为“回显字符串地址”和“回显字符数”;采用 9号功能的,子程序输入参数为“回显字符串地址”。 ④屏幕的提示信息显示格式尽量做到兼顾美观。

3 .实验步骤 ①?选用合适的程序文本编辑软件编辑源程序, 并为文件取以.ASM为扩展名的文件存盘。 ②?用宏汇编软件MASM对源程序文件进行汇编,若有错误,根据提示(行号,错误类型)回源程序文件中修改。 ③?用LINK对由MASM匚编后产生的目标文件做连接,生成可执行文件;若有错误(同上)回步骤1修改源程序文件。 ④?对存在问题的程序,用CV调试程序,检察运行结果,并调试程序。 ⑤?反复验正程序的正确性。 ⑥?完善、改进所设计的程序算法、功能、界面、或性能等指标。 四、思考题 1.输入串若以指定字符(非回车)做结束标志时的输入部分应如何改写。 2.若为应用程序添加启动时的密码检验功能,密码输入时采用什么屮断功能比较合适? 3.如何为应用程序添加字母的大小写转换功能? OUTPUT MACRO MOV AH, 9 INT 21H EXDM INPUTS MACRO MOV AH, 10 INT 21H ENDM DATA SEGMENT BUF1 DB Odh, Oah,,Wa nt in put(Y/N)?$, BUF2 DB Odh,Oah, 5 please in put a stri ngs:$' BUFIN DB 20,?,20 DUP(?) BUF3 DB Odh,Oah, ' your in putt ing is:$' BUF4 DB Odh, Oah,,Wa nt contin ue(Y/N)?$,

电子商务技能大赛

特步杯2014电子商务技能大赛 一、大赛名称 2014年第二届“特步杯” 全国电子商务实战技能大赛 二、大赛简介 《国家中长期教育改革和发展规划纲要》文件要求,积极贯彻教育部有关深入实施教育教学质量与教学改革工程,大力支持以就业为导向的高等职业院校改革与建设;在课程体系、教学内容和教学方法上,在知识更新、实践教学、创新创业教育等关键环节上,深化教育教学改革,进一步提高学生的实践能力、就业能力、创新能力和创业能力,造就新一代适应未来挑战的高素质人才。 2014年4月30日国务院总理李克强主持召开国务院常务会议,确定进一步促进高校毕业生就业创业的政策措施。启动实施“大学生创业引领计划”,落实和完善创业扶持政策,帮助更多高校毕业生自主创业。在电子商务网络平台开办“网店”的高校毕业生,可享受小额担保贷款和财政贴息政策。 为进一步促进传统企业、电子商务企业、学校电子商务专业等电商发展相关要素的互相交流,促进学校电子商务专业人才培养同社会需求接轨,促进电子商务产业发展壮大,特举办2014年第二届“特步杯”电子商务实战技能大赛,诚邀全国各高等学校和职业学校师生参赛。 大赛本着“以赛促学、以赛促教、以赛促建”的宗旨,以“电商职场,非同凡响”为主题,面向全国在校大学生、中专生,通过电子商务实战的团队竞赛形式,充分锻炼和提升学生的电子商务运营知识和实操技能,充分锻炼学生的逻辑思维能力、商务营销能力、交流沟通能力、决策与执行力,同时激发在校生创新、实践、创业的热情,为其日后进入职场与社会接轨夯实基础。 本次大赛由厦门市电子商务协会主办;特步(中国)有限公司冠名;厦门大学金融研究所、厦门理工学院商学院协办;厦门优优汇联信息科技有限公司、厦门亿储信息科技有限公司承办;微信提供平台支持服务;中国农业银行提供金融支持服务。大赛于2014年6月启动,于2014年9月1日正式开赛。大赛分本科组、高职组和中职组,分为两个阶段,第一阶段为初赛,第二阶段为决赛。 三、大赛组织 主办单位:厦门市电子商务协会 大赛冠名:特步(中国)有限公司 协办单位:厦门大学金融研究所 厦门理工学院商学院 协办单位:厦门优优汇联信息科技有限公司 厦门亿储信息科技有限公司 平台支持:微信 金融支持:农业银行 媒体支持:腾讯、新浪网、搜狐网、网易等 四、大赛组委会顾问组 陈曙光:国家电子商务示范城市专家咨询委员会专家、商务部电子商务专家咨询委员会专家、国家标准化委员会电子商务标准化总体组专家 张亦春:中国著名经济金融学家、国家级金融重点学科学术总带头人、香港科学院荣誉博士、博士生导师、厦门大学金融研究所所长 林建宗:厦门市电商专家咨询组组长、厦门市电子商务协会专家委员会主任、厦门理工学院

微机原理:顺序、分支、循环、子程序设计

[公司名称] 实验二 顺序、分支、循环、子程序设计微机原理上机实验 [作者姓名] [日期]

预习报告 零、相关知识 1,LEA指令和MOV指令的区别 一、顺序结构 计算m*n-w,最终结果保存在AX 其中m=12, n=12, w=4 最终结果为AX=008CH=140D name "sequence strcture" org 100h MOV AX, 1000H MOV DS, AX MOV SI, 1000H MOV [SI], 12 MOV [SI+1], 12 MOV [SI+2], 4 MOV AL, [SI] MOV BL, [SI+1] MUL BL MOV BX, 0 MOV BL, [SI+2] SUB AX, BX HLT 二、分支结构 在DS数据段偏移地址为DATA开始的顺序80个单元中,存放着某班80个同学的微机原理考试成绩。现欲编程序统计>=90、89~70、69~60和<60分的人数,并将统计的结果存放在当前数据段偏移地址为BUFFER的顺序单元中 name “branch structure”

START: MOV DX, 0000H MOV BX, 0000H MOV CX, 80 LEA SI, DATA LEA DI, BUFFER GOON: MOV AL, [SI] CMP AL, 90 JC NEXT3 INC DH JMP STOR NEXT3: CMP AL, 70 JC NEXT5 INC DL JMP STOR NEXT5: CMP AL, 60 JC NEXT7 INC BH JMP STOR NEXT7: INC BL STOR: INC SI LOOP GOON MOV [DI], DH MOV [DI+1], DL MOV [DI+2], BH MOV [DI+3], BL HLT 三、循环结构 在DS所决定的数据段,从偏移地址BUFFER开始顺序存放100个无符号16位数。现欲编程序将这100个数按大小顺序排序(以下程序使用的是快速排序算法,也可以使用冒泡排序,嵌套两层循环) name “circle structure” LEA DI, BUFFER MOV BL, 99 NEXT0: MOV SI, DI

2017年电子设计大赛比赛题目及评分标准

附件2 比赛题目及评分标准 【题目一】Xilinx哈夫曼编码 1.设计要求 要求对一段数据序列进行哈夫曼编码,使得平均码长最短,输出各元素编码和编码后的数据序列。 (1)组成序列的元素是[0-9]这10个数字,每个数字其对应的4位二进制数表示。比如5对应0101,9对应1001。 (2)输入数据序列的长度为256。 (3)先输出每个元素的编码,然后输出数据序列对应的哈夫曼编码序列。 2.电路接口 RTL级代码顶层模块名统一为HuffmanCoding,可参考电路接口与时序如下:(可以根据自身设计需求,对电路接口进行修改) module HuffmanCoding( input wire clk, input wire rst_n, input wire [3:0] data_in, input wire start, output wire output_data, output wire output_start, output wire output_done ); 1

clk rst_n start output_done (1)复位之后,当start信号高有效后开始连续输入256个数据序列,data_in数据宽度为4,输入需要256个时钟周期。 (2)经过运算后,output_start信号高有效后,开始输出结果output_data。output_data信号数据宽度是1,因此输出是二进制序列。最后output_done 高有效说明整个编码过程结束。 (3)output_data数据包含2个部分。先输出[0-9]这10个数字的哈夫曼编码(具体的输出格式可以自行设定),然后输出数据序列哈夫曼编码后的序列。 评分标准: 1. TestBench 建议先用C/C++或者Matlab等高级语言实现上述哈夫曼编码设计需求,并以此为基准,作为电路仿真的TestBench。 2. 电路功能 电路功能的完成情况,包括是否满足设计要求、源代码、仿真程序和文档说明等。要求代码书写规范,可读性强。严禁抄袭,如果需要使用第三方IP或者借鉴其他人的部分源码,请注明出处。 3. 性能 2

微机原理程序设计

XX理工大学微机原理程序设计 ----------------------------------------------------------- 实验一 实验要求: 试编写一个程序,要求比较数组ARRAY中的三个16位补码数,并根据比较结果在显示终端上显示如下信息: (1)如果三个数都不相等则显示0; (2)如果三个数有两个相等则显示1; (3)如果三个数都相等则显示2。 程序流程图:

开始 初始化 显示数组中的三个补码数 结束 显示0 显示2 显示1 i=0i=1 i=2三数两两比较并记相等的个数i 显示“请连续输入三个三位数:” 调用程序,使输入的三个三位数转换为补码形式,并分别保存在数组ARRAY 中 程序清单: DATA SEGMENT ARRAY DW 1,2,3 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,ARRAY MOV BX,ARRAY+2 MOV CX,ARRAY+4 CMP AX,BX JE L CMP BX,CX

JE L1 CMP AX,CX JE L1 MOV DL,30H JMP EXIT L: CMP BX,CX JNE L1 MOV DL,32H JMP EXIT L1: MOV DL,31H EXIT: MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 运行结果: ARRAY中三个数互不不相等: ARRAY中三个数有两个相等:

微机原理简单程序设计

一、实验目的 (1).学习汇编语言上机操作过程,汇编程序的汇编、编辑、连接、运行、DEBUG、调试方法。 (2)、加深理解汇编语言程序设计方法 (3)、学习使用DOS调用方法 二、实验内容: (1)、在内存单元TAB开始的连续10个有符号字节数据中找出最小数据并显示结果 (2)、在内存单元TAB开始的连续10个有符号字节数据中找出最大数据并显示结果 三、实验设备及环境: 1.计算机 2.MASM汇编 四、实验方案:

五、实验步骤: 1.用记事本编写源程序; 2.在“开始”—“运行”里键入“cmd”命令启动ms—dos; 3.在命令行中输入cd\masm5\回车; 4.输入masm 程序名.asm; 5.输入link 程序名; 6.输入程序名回车运行程序; 7. 更改源程序找出最大值 六、源程序: dseg segment TAB db 2H ,5H,6H,3H,7H,8H,9H,81H,,0C3H,0F4H COUNT db $-TAB dseg ends sseg segmengt stack SDAT db 50 dup(?) TOP equ length SDAT sseg ends code segment assume cs:code , ds:dseg, ss:sseg start: mov ax,dseg mov ds,ax mov ax,sseg mov ss,ax mov ax,TOP mov sp,ax

mov cx,COUNT DEC cx mov sl, OFFSET TAB mov al,[sl] NEXT: INC al cmp al ,[sl] JL L1 mov al, [al] L1 :LOOP NEXT mov bl,al mov cl,4 and al,0f0h shr al,cl or al,30h mov dl,al mov ah,2 int 21h and bl,0fh or bl,30h mov ah,2 int 21h mov ah,4ch int 21h code ends

电子技能大赛评分标准

电子技能大赛评分标准 本次技能大赛主要对学生的元器件识别能力,电路图读图能力,电烙铁焊接能力进行考核。成绩考核分以下几个方面进行: 一、识别元器件(20分) 1、参赛选手应能使用万用表对比赛用的元器件的好坏进行 识别。如果发现有损坏的元器件,应在进行焊接前报告老 师并进行更换,若进行焊接后才发现有损坏的,可以进行 更换,但每个器件扣2分。 2、参赛选手应能使用万用表对个别器件的引脚进行判别,如 二极管,三极管的引脚判别。如果在焊接后出现引脚错误, 一个扣2分 3、参赛选手应能使用万用表对电阻进行阻值判别。如果出现 判别错误,一个扣2分。 二、电路图读图(10分) 参赛选手应按电路图进行焊接。如果出现焊接错误,一处错误扣2分。 三、电路板焊接(40) 1、元器件在万能板上的布局要合理,元器件引脚的加工成型和 插装要规范,不合格的一个扣1分。 2、电路板焊接应符合焊接规范,出现不合格焊点的一个扣2分。 出现焊坏万能板的,一处扣2分。 3、焊接完成后,应对器件引脚进行处理,处理不及格的一个扣

1分。 四、电路功能的实现(10分) 参赛作品能正常实现电路功能的能得10分,不能实现功能的选手可以拿回去检查,并重新焊接。拿回去一次扣2分。 四、作品完成(20分) 在规定的时间里面,第一个实现电路功能的选手的得20分,第二个得18分,第三个得16分,往后的依此类推。 附:一、电子元器件的安装 1、元器件引脚折弯及整形的基本要求 手工弯引脚可以借助镊子或小螺丝刀对引脚整形。所有元器件引脚均不得从根部弯曲,一般应留1.5mm以上;电阻,二极管及其类似元件要将引脚弯成与元件成垂直状再进行装插。 2、元器件插装要求 1) 电子元器件插装要求做到整齐、美观、稳固,元器件应插装到位,无明显倾斜、变形现象。同时应方便焊接和有利于元器件焊接时的散热。 2)电阻,二极管及其类似元件与线路板平行,要尽量将有字符的元器件面置于容易观察的位置。 3)电容、三极管、电感、可控硅及类似元件要求引脚垂直安装,元件与线路板垂直。 4) 集成电路、集成电路插座装插件时注意引脚顺序不能插反且

微机原理-比赛评分系统程序设计

摘要 汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。 用汇编语言编写程序能够直接利用硬件系统的特性直接对位、字节或字寄存器、存储单元、I/O端口进行处理,同时也能直接使CPU指令系统和指令系统提供的各种寻址方式编出高质量的程序。 关键词:微机汇编端口

比赛评分系统程序设计 1初始条件及要求完成的主要内容 1.1初始条件: 用汇编语言编写程序计算某次比赛的成绩。 1.2要求完成的主要内容: (1)比赛选手人数控制在30以下; (2) 9个评委,每个评委给分范围为0~10分(整数),随机给出分数; (3)9个评委的给分中,去掉一个最高分和一个最低分,余下7位评委的平均分即为参加者的得分(精确到小数点后一位); (4)将分数在屏幕中间位置处用红色显示出来; (5)将参加比赛的选手的排名顺序显示出来; (6)撰写设计说明书及调试心得。 2设计方法与构想思路 这次课程设计中用到了汇编语言程序的四种基本结构:顺序结构、分支结构、循环结构和子程序。 顺序结构程序一般是简单程序,它是顺序执行的,无分支、无循环,也无转移,因此也称为直线程序。 分支结构程序是指程序在按指令先后的顺序执行过程中,遇到不同的计算结果值,需要计算机自动进行判断、选择,决定转向下一步要执行的程序段。 程序中的某些部分需要重复执行,设计者不可能将重复部分反复地书写,那样程序会显得很长。只要选好参数,将程序中重复执行部分构成循环结构,这样设计的程序既美观又便于修改。循环结构每次测试循环条件,当满足时,重复执行这一段程序;否则结束循环,顺序往下执行。由于循环程序需要循环准备、修改变量、结束控制等指令,执行的速度会稍慢些。 我们将一个具有特定功能的代码块定义为一个过程(或子程序)。 这次主要采用循环结构和子程序的基本结构形式,编写程序产生9个0~10的随机数,找出这9个数中的最大和最小的数,即评委给出的最高分和最低分,分别保存。

微机原理与技术实验四:子程序结构

微机原理与技术实验四:子程序结构

实验四:子程序设计 一、实验目的:掌握子程序结构,熟悉汇编上机环 境。 二、实验内容:设有数组SCORE存放学生的成绩 (0~100分),编写一个子程序统计0~59分、60~69分、70~79分、80~89分、90~100分的人数,并分别存放到SCOREE、SCORED、SCOREC、SCOREB、SCOREA单元中。编写一个主程序与之配合使用。 三、实验步骤: 1、在“轻松汇编”环境下编写、编译和生成程序; 2、进入DEBUG界面,运行程序,观察SCOREE、SCORED、SCOREC、SCOREB、SCOREA变量的值是否正确: 在DEBUG下运行程序:F9键 观察多个变量值:“Data”→“Add Watch”→“输入变量1” “Data”→“Add Watch”

“输入变量2” …… 四、流程图与源程序: DATA SEGMENT SCORE DB 80,78,45,81,90,72,60,75 SCOREE DB 0 SCORED DB 0 SCOREC DB 0 SCOREB DB 0 SCOREA DB 0 DATA ENDS STCK SEGMENT DB 10 DUP(?) STCK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STCK START: 补全程序

MOV AH,4CH INT 21H ;以下为子程序 COUNT PROC 补全程序 RET COUNT ENDP CODE ENDS END START

主程序开始 设置地址指针指向SCORE 首地址 设置循环次数=SCORE 元素个数 调成绩判断子程序 地址指针加一 循环次数减一 循环次数=0 N 返回DOS Y 子程序开始 取当前地址指针所指向的元素 当前元素<90SCOREA 加一 当前元素<80SCOREB 加一 当前元素<70SCOREC 加一 当前元素<60SCORED 加一 SCOREE 加一 子程序返回 N Y N Y N Y N Y 五、实验小结 说明:实验报告要包涵上述五项 DATA SEGMENT

微型计算机原理课程设计

微型计算机原理课程设计学院 专业 班级 学号 姓名 一、目的 结合微型计算机课程的学习,进一步巩固已学的知识,同时针对计算机原理知识的具体应用,学会对系统中DOS和BIOS的使用。学会使用屏幕编辑程序——EDIT,弄懂汇编程序的上级过程以及如何运用DEBUG软件进行汇编程序的调试。

二、内容 1.字符串的匹配 为掌握提示信息的设置方法及读取键入信息的方法。编写程序事先两个字符串的比较。如相同,则显示“MATCH”,否则,则显示“NO MATCH” 2.从键盘输入数据并显示的设计 为掌握接受键盘数据的方法,并了解将键盘数据显示时必须转化为ASCII 码的原理。编写程序,将键盘接受到的四位十六进制数据转化为等值的二进制数,再显示在终端上。 3.响铃设计 为掌握响铃的使用方法。编写程序,从键盘接受输入字符,如是数字N,则响铃N次,如果不是数字,则不响。 4.将键盘输入的小写字母转化成大写字母的设计 为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换,编写程序,接受键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。 5. 学生成绩名次表设计 为进一步熟悉排序方法,编写程序,将100以内的30个成绩存入首址为1000H 的存储区中。1000H+i表示学号为i的学生成绩。编写程序使得在2000H开始的区域排出名次表,2000H+i为学号i的学生的名次。 编写程序如下 学生成绩名次表流程图

编写程序如下 CRLF MACROA MOV AH,02H AS MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H ENDM DATA SEGMENT

中等职业学校电子技能大赛活动方案

竭诚为您提供优质的服务,优质的文档,谢谢阅读/双击去除 中等职业学校电子技能大赛活动方案 一、竞赛目的: 通过此项目竞赛,检验参赛选手对电子产品在规定设计方案(规定原理图与结构要求)下的工艺实现能力,包括对电子元器件的检测方法和常用电子产品制作工具的应用、电子产品加工方法和工艺的操作、电子仪器仪表的使用、现场问题的分析与处理、团队协作和创新能力等,引导中职学校重视电子行业职业工人基本职业能力的培养,指导和推动电子类专业开展教学改革,加快电子产品设计与制造实用技能型人才的培养。 二、竞赛项目: 1、七管收音机的装配和调试。(150分钟) ⑴元件选择。根据大赛组委会给定的七管收音机原理图

和元件包,在给定的元件包中选出需要的电子元、器件及功能部件(所给元件包内元器件数量为实际用件数量的130%);在确定有不合格元件且没有焊接的情况下,可以提交现场裁判确认该元件不合格后予以更换,如属选手误判,予以扣分。 ⑵装配与调试。根据赛场提供七管收音机原理图、安装图和零部件组装成整机成品,并独立完成整机的统调、检修。 2、原理图与pcb板图的设计(120分钟); 根据大赛组委会提供的特定纸质电路原理图,在 protel99se或proteldxpxx软件环境中自行绘制原理图和pcb板图。 三、竞赛规程: 采取现场竞赛的方式,总竞赛时间为4.5小时。 每个参赛队按照竞赛题目要求,完成安装、调试和维护等任务,根据任务完成质量、完成时间及文明生产情况(工作态度、安全意识、职业规范、环境保护、成本控制等)评定竞赛成绩。

赛前公布设备型号、规格、技术参数、操作指南以及刀具、工具、量具、材料等详细清单。 五、选手自备工具 电烙铁、尖嘴钳、斜口钳、吸锡器、镊子、一字螺丝刀、十字螺丝刀、万用表(禁用数字型万用表)等。 五、评分细则 1、评分标准及分值。 根据在规定的时间内,选手完成工作任务的情况,参照信息产业部电子行业无线电调试高级工的国家职业标准进行评分 ⑴七管收音机的装配和调试(80分); ①元件选择(10分); 按元器件的筛选、测试正确率评分。准确清点和检查全

第2 章 16 位微机原理及其程序设计实验

第2 章 16 位微机原理及其程序设计实验 本章主要介绍汇编语言程序设计,通过实验来学习80X86 的指令系统、寻址方式以及程序的设计方法,同时掌握联机软件的使用。 2.1 系统认识实验 2.1.1 实验目的 掌握TD 系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86 联机集成开发调试软件的操作环境。 2.1.2 实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 2.1.3 实验内容 编写实验程序,将00H~0FH 共16 个数写入内存3000H 开始的连续16 个存储单元中。 2.1.4 实验步骤 1. 运行Wmd86 软件,进入Wmd86 集成开发环境。 2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16 位寄存器”,如图2.1、图2.2 所示。设置选择 后,下次再启动软件,语言环境保持这次的修改不变。本章选择16 位寄存器。 80X86 微机原理及接口技术实验教程西安唐都科教仪器公司 15 图2.1 语言环境设置界面 图2.2 寄存器设置界面 3. 语言和寄存器选择后,点击新建或按Ctrl+N 组合键来新建一个文档,如图2.3 所示。

默认文件名为Wmd861。 图2.3 新建文件界面 4. 编写实验程序,如图2.4 所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。 80X86 微机原理及接口技术实验教程西安唐都科教仪器公司 16 图2.4 程序编辑界面 5. 点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方可 以加载程序。编译、链接后输出如图2.5 所示的输出信息。 图2.5 编译输出信息界面 6. 连接PC 与实验系统的通讯电缆,打开实验系统电源。

相关主题
文本预览
相关文档 最新文档