微机原理实习 光条式程序菜单(程序界面)设计_第1页
微机原理实习 光条式程序菜单(程序界面)设计_第2页
微机原理实习 光条式程序菜单(程序界面)设计_第3页
微机原理实习 光条式程序菜单(程序界面)设计_第4页
微机原理实习 光条式程序菜单(程序界面)设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 姓 名成 绩课 程 设 计 报 告题 目: 光条式程序菜单(程序界面)设计课 程: 微型计算机原理专 业: 电子信息工程班 级: 学生姓名: 学 号: 指导教师: 完成日期: 2014.1.3机电工程学院目 录前言 1第一章 绪论 21.1实习目的 21.2实习要求 21.3设计所需设备 2第二章 软件系统介绍 2 2.1中断技术(或其它相关技术) 2 2.1.1介绍中断的概念中断技术 2 2.1.2 DOS及BIOS中断 2 2.2 汇编语言及汇编工具简介 2第三章 设计分析3 3.1 软件设计思路33.2 软件各模块内容 33.2.1界面设计33.2.2菜单项选择33.2.3菜单项程序的

2、组织与调用33.2.4常用的光标控制键33.3 程序流程图设计4第四章 系统实现54.1 程序原代码清单及详细注释6 42 实验结果7第五章 总结 5.1设计总结8前 言 本课程设计主要学习的是计算机的组成逻辑,要具体到寄存器的层次,编程序要面对寄存器编程,这就是汇编语言编程。在如此深入的层面上理解微机的工作原理,不单纯是为了知识,而是很多应用建立在这个基础上,只有掌握了危机的工作原理、汇编语言编程技术及危机的借口技术才能充分利用计算机的潜力。然而,后PC时代的计算机已经发展到了一个前所未有的夹断。新机型、新技术、新应用层出不穷,日新月异。因此,微机原理与接口技术课程设计的教学内容迅速发展的形

3、式是十分困难的。国家教委对微机课程教学的基本要求中指出,课程的任务是使学生从理论和和时间上掌握危机的基本组成、工作原理、接口技术及应用,建立微机系统的整体概念,使学生具有应用微机系统进行软硬件开发的初步能力。 1第一章 绪论一、实验目的1. 理解掌握定时/计数器和中断的使用方法。2. 掌握微机常用的输入输出方式及接口技术。3. 掌握一定的汇编语言知识,培养自己的动手操作能力。4. 学习程序设计的基本思路和方法。5. 设计光条式程序菜单,了解菜单的制作方法二、实习要求1. 用箭头键改变选项的选择,用色带光条标明所选项,并可用确认键调用按序号定义的子程序。三、设计所需设备:PC机第二章 软件系统介

4、绍一、中断技术(或其它相关技术)(一)介绍中断的概念中断技术 在微机中,当CPU在执行过程中时,由于随机的事件(包括CPU内部的和CPU外部的事件)引起的CPU暂时停止正在执行的程序,而转去执行一个用于处理该事件的程序称为中断式服务程序(或称中断处理程序),处理完后又返回被终止的程序断点处继续执行,这一过程成为中段(二) DOS及BIOS中断通过调用DOS系统的8号功能实现控制字符的输入,通过调用延时程序实现十分之一秒的定时,通过调用DOS系统的2号功能实现光标定位,调用DOS系统的2号功能实现字符的输出,通过调用DOS系统的9号功能实现字符串的输出。二、汇编语言及汇编工具简介汇编语言(Ass

5、emblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。 EMU8086是学习汇编必不可少的工具,它结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导

6、工具。Emu8086同主流汇编程序相比,语法简单得多,但是它能生成兼容的机器语言。可以直接对通用寄存器,段寄存器,直接进行汇编编址操作,而且便于直接生成exe文件进行操作。第三章 设计分析一、 软件设计思路一个多功能的软件常以菜单作为程序界面,用户可以通过菜单项直观地选择各项功能。菜单分为分页式和下拉式(弹出式)两种,这里只设计没有分页功能的单页式菜单。在设计菜单程序时应考虑4项内容:界面设计、菜单项选择、菜单程序的组织与调用和常用的光标控制键。二、 软件各模块内容(一)界面设计在分页式菜单程序中,如果菜单项比较多,可以用PaDn键和PgUp键分页显示。在下拉式菜单程序中,通常采用分级分类的办

7、法,即主菜单、一级子菜单、二级子菜单等。当选中一个主菜单项时,就“弹出”它属下的一级子菜单,在选中了一个子菜单项之后,又弹出它属下的二级子菜单,依次类推,每一个菜单项都有一个可执行程序与之对应。(二)菜单项选择最简单的方法是键入菜单项序号,程序根据序号转入相应的菜单项程序段。较常见的方法是利用“色带”选择菜单项。“色带”是颜色鲜明的条形光带,它可以覆盖一个菜单项,用户利用“”键移动色带的位置,然后按下回车键,被色带覆盖的那个菜单项就被选中。使用色带选择,界面美观,操作简便,程序设计也不太复杂,是较为理想的方式。(三)菜单项程序的组织与调用如果菜单项比较少,而且菜单项程序不太复杂,不一定要为每一

8、个菜单项设计一个独立的程序,此时界面显示、菜单项选择和完成菜单项功能的程序段可以包含在一个程序中。菜单项被选中后,可以使用JMP或CALL指令,调用相应的程序段。如果菜单项比较多,菜单项程序又比较复杂,就应当为每一个菜单项设计一个独立的菜单项程序,此时菜单项程序的组织与调用就十分重要。(四)常用的光标控制键常用的光标控制键PgDn、PgUp、,通过调用INT16H的0号子功能可以在AH寄存器中返回他们的扩展码。三、程序流程图设计第四章 系统实现一、 程序原代码清单及详细注释;FILENAME:MENU.ASMDISP MACRO X,LENGTH,COLOR ;定位显示彩色字符串 MOV AX

9、,1300H MOV BX,COLOR ;属性字BX MOV CX,LENGTH ;串长度CX MOV DH,YY ;行值DH MOV DL,X ;列值DL MOV BP,ADDR ;待显传偏移地址BP INT 10H ENDM;-DATA SEGMENTL0 DB 'MENU 'L1 DB '='L2 DB ' EXAMPLE_1 'L3 DB ' EXAMPLE_2 'L4 DB ' EXAMPLE_3 'L5 DB ' RETURN 'L6 DB '='LL EQU $-L6

10、XX EQU (80-LL)/2 YY DB ? ;存放待显串的字符NN DW 1 ;记录色带的位置TAB DW ?,L2,L3,L4,L5 ;存放菜单项偏移地址ADDR DW ? ;存放待显串偏移地址DATA ENDS ;-CODE SEGMENT ASSUME CS:CODE , DS: DATA, ES: DATABEG: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,3 INT 10H ;清屏 MOV YY,8 ;菜单起始行值YY单元 MOV ADDR,OFFSET L0 ;L0偏移地址ADDR单元LAST2: DISP XX,LL,0FH ;显示一行菜

11、单 ADD ADDR,LL ;下一串偏移地址ADDR单元 INC YY ;下一菜单项行值YY单元 CMP YY,15 JL LAST2LAST1: CALL COMPUTE DISP XX+3,LL-6,0FH MOV NN,1 CALL COMPUTE DISP XX+3,LL-6,51H ;令色带覆盖第1菜单项 SCAN: MOV AH,1 INT 16H ;有键入? JZ SCAN ;否,转等待输入 MOV AH,0 INT 16H ;读键盘缓冲区 CMP AH,80 JE DOWN ;是“”键,转下移处理 CMP AH,72 JE UP ;是“”键,转上移处理 CMP AL,0DH J

12、E EXIT ;是回车,转退出 JMP SCAN ;非法键,转等待输入DOWN: CMP NN,4 JE LAST1 CALL COMPUTE DISP XX+3,LL-6,0FH ;令当前色带消失 INC NN ;(NN)+1 NN单元 CALL COMPUTE DISP XX+3,LL-6,51H ;色带上移1项 JMP SCANUP: CMP NN,1 JE LAST3 CALL COMPUTE DISP XX+3,LL-6,0FH DEC NN CALL COMPUTE DISP XX+3,LL-6,51H JMP SCANEXIT: MOV AL,BYTE PTR NN ;携带返回码

13、 MOV AH,4CH INT 21H ;返回批处理;-COMPUTE PROC ;计算子程序 MOV DI,NN ADD DI,DI MOV AX,TABDI ADD AX,3 MOV ADDR,AX ;待显串偏移地址ADDR单元 MOV AL,BYTE PTR NN ADD AL,9 MOV YY,AL RETCOMPUTE ENDP LAST3: CALL COMPUTE DISP XX+3,LL-6,0FH MOV NN,4 CALL COMPUTE DISP XX+3,LL-6,51H CALL SCAN CODE ENDS END BEG二、 实验结果 点击运行后,出现运行的结果如下:第五章 设计总结本次课题设计,使我们对emu8086及编程有了更深层次的理解与体会,对于汇编语言的使用和编程更加深层的学习,收获颇丰。当我们接到这个课题时,对于光条式程序菜单的设计是非常的陌生,于是我们小组3个成员开始了最初的讨论设计大概的思路,包括使用的中断技术、界面的设计、循环程序设计以及子程序设计的使用等,我们通过画流程图和基本步骤的设置,慢慢的我们的程序有了一个大致的轮廓,接着就是书写程序了,首先通过课本的已有知识开始了编程,可发现有些指令和中断的调用已经超出了课本, 于是我们去图书馆借阅了很多关于汇编语言程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论