汇编语言课程设计

上传人:m**** 文档编号:171308839 上传时间:2022-11-25 格式:DOCX 页数:29 大小:134.74KB
收藏 版权申诉 举报 下载
汇编语言课程设计_第1页
第1页 / 共29页
汇编语言课程设计_第2页
第2页 / 共29页
汇编语言课程设计_第3页
第3页 / 共29页
资源描述:

《汇编语言课程设计》由会员分享,可在线阅读,更多相关《汇编语言课程设计(29页珍藏版)》请在装配图网上搜索。

1、目录1.1 汇编语言特点 21.1.1 汇编语言的适用场合 22. 程序的功能要求 33. 扬声器的驱动系统 34. 程序的设计思路 35. 程序的详细设计 45.1 数据段 45.2 附加段 85.3 代码段 86. 运行的界面的步骤 217. 程序流程图 238. 实验心得 259. 参考文献 26八 前言机器语言虽然是计算机的母语,但绝大多数使用计算机的来说, 机器语言难以掌握和编程。为了克服机器指令上的缺点,采用容易记 忆的英文符号(称为助记符)来表示指令和数据及地址,例如用 ADD、 SUB 和 JMP 等英文文字或其缩写形式取代原来的二进制操作码,来 表示加、减和转移等操作。这种用

2、助记符来表示的机器指令称为汇编 指令。每一个机器指令都对应一条汇编指令,所有的汇编指令的集合 构成计算机的汇编指令系统。而这学期的课程设计,我们就是用汇编 语言来编写一个七段码的数字电子时钟。下面就是程序的设计过程。1. 汇编语言2. 程序的功能要求3. 简单描述 8253,8255的扬声器驱动系统4. 程序的设计思路5. 程序的详细设计6. 运行的界面的步骤7. 程序流程图8. 实验心得9. 参考文献1. 汇编语言汇编语言实际上是机器语言中的一种符号表示,它可以使用助记 符来表示机器指令的操作码和操作数,用标号和符号来代替地址、常 量和变量。汇编语言程序的语句除指令与语句外,还有伪指令和宏指

3、 令语句。伪指令本身并不产生目标代码,但它们可以指示汇编程序、 连接程序等系统软件如何去汇编和链接,它不像机器指令那样在程序 运行期间由计算机执行,而是在汇编程序对源程序汇编期间由汇编程 序处理的操作。伪指令可以完成段的定义、数据定义、分配存储区、 指令程序的开始和结束等功能。1.1 汇编语言特点汇编语言与处理器密切相关汇编语言程序效率高编写汇编语言源程序比编写高级语言源程序繁琐1.1.1汇编语言的适用场合程序执行占用较短的时间,或者占用较小的存储容量的场合程序与计算机硬件密切相关,程序直接控制硬件的场合需提高大型软件性能场合没有合适的高级语言的场合2. 程序的功能要求(1)以7 段码的形式显

4、示系统时间和日期; (2)整点时能控制扬声器发声。3. 扬声器的驱动系统PC机上的大多数输出输入(I/O)都是由系统插件板上的8255 (或 8255A)可编程外围接口的芯片上(PPI)管理的。PPI包括3个8bit 寄存器,2个用于输入,一个用于输出。输入寄存器端口号为60h和 62H,输出寄存器分配的I/O端口号为61H。由PPI得输出寄存器中 的2位来选择扬声器的驱动程序。当输出寄存器的Obit为1时,控 制 8253 定时器来驱动扬声器,当 1Bit 为 1 时,扬声器的门电路连通, 并一直保存到1bit变成0时关闭。4. 程序的设计思路数字09中的每一个数字用“丨”和“一”字符组成的

5、“七段” 码图形表示,时与分、分与秒之间的两点用“:”字符表示。这些字 符预先定义在数据段的字符图形里,利用BIOS INT 1AH的2号系统 功能调用,读出计算机系统的时间(为 BCD 码),置换成字符图形标 中的图形字符显示。本程序设计的关键是随着系统时间的变化,用字符组成的图形数 字如何进行相应的变化。方法是:不停地读取系统时间并保存在寄存 器中,将每次取出的时间显示并与前一次比较,先比较“秒”值,在 不同的情况下(系统时间发生了增1 的变化),则调用相应的图形字 符显示,在不超过60 秒的情况下,重复比较秒,然后再比较和显示 “分”值与“小时”值。5. 程序的详细设计5.1 数据段这一

6、段主要说明了字符都是以什么形式显示在屏幕上的data segmentDATE db 9db 31h,7,0,1db 31h,7,0,1db 2Eh,7,0,1db 31h,7,0,1db 2Eh,7,0,1db 31h, 7,0,1db 33h,7,0,1;*定义 09 十个图形数字*s0 db 6db5fh,7,0,0db7ch,7,1,-1db7ch,7,1,0db5fh,7,0,1db7ch,7,0,1db7ch,7,-1,0sydb2db7ch,7,1,0db7ch,7,1,0s2db5db5fh,7,0,0db7ch,7,1,1db5fh,7,0,-1db7ch,7,1,-1db5f

7、h,7,0,1s3db5db5fh,7,0,0db7ch,7,1,1db5fh,7,0,-1db 7ch,7,1,1db 5fh,7,0,-1s4db4db7ch,7,1,0db5fh,7,0,1db7ch,7,1,1db7ch,7,-1,0s5db5db5fh,7,0,0db7ch,7,1,-1db5fh,7,0,1db7ch,7,1,1db5fh,7,0,-1s6db6db5fh,7,0,0db7ch,7,1,-1db5fh,7,0,1db7ch,7,1,1db5fh,7,0,-1db7ch,7,0,-1s7db3db5fh,7,0,0db 7ch,7,1,1db 7ch,7,1,0s8d

8、b7db7ch,7,1,0db5fh,7,-1,1db7ch,7,1,1db5fh,7,0,-1db7ch,7,1,1db5fh,7,0,-1db7ch,7,0,-1s9db6db7ch,7,1,0db5fh,7,-1,1db7ch,7,1,1db5fh,7,0,-1db7ch,7,1,1db5fh,7,0,-1s11db2db2eh,7,1,0db2eh,7,1,0data ends5.2 附加段stack segmentdb 200 dup (0)stack ends5.3 代码段这一段主要是写了主屏的背景颜色和字符的颜色,读取系统时间 和系统时间的位置,还有加了扬声器发生系统,能够整点报

9、时。 stack segmentdb 200 dup (0)stack endscode segmentassume cs:code,ss:stack,ds:datastart:mov ax,datamov ds,axmov ah,0;设置显示方式mov al,4int 10hmov ah,0bh;置彩色调板mov bh,0;设置的背景颜色int10hmovah,0bh;置彩色调板movbh,1movbl,4int10hmovah,2;取系统时间int1ahmovax,0movbx,0movah,ch;取系统时间moval,cl;保存分钟movbh,dhmovbl,dlttpush ax pu

10、sh bx mov ah,0 mov al,4 int 10h mov ah,0bh mov bh,0int10hmovah,0bhmovbh,1movbl,4int10hmovah,1;读键盘缓冲区字符int16hjzwwmovah,8;从键盘输入字符int21hcmpal,s;输入 s ,结束程序jetuww: popbxpop axcall xian;调用显示子程序push axqu:mov ah,2;取系统时间int 1ahcmp bh,dh je qupop ax inc bhcmp bh,60hjl ttmov bh,0inc alcmp al,60hjl ttmov al,0in

11、c ahcall beep;调用发音子程序cmp ah,24hjl ttmov ah,0jmp tttu:mov ah,4chint 21hretxian proc; 对时间值进行处理并显示的子程序push sipush di push dx push cx push bx push ax mov bx,ax mov ax,0 mov al,bh mov cl,4 shr al,cl mov bl,al mov dh,10 mov dl,2 call ff pop ax push ax mov bx,ax mov ax,0 mov al, bh and al,0fh mov bl,alcall

12、 ffmovdh,10movdl,10movbl,10call ffpop axpush axmovcl,4shral,clmovbl,almovdh,10movdl,14call ffpop axpush axandal ,0fhmovbl,almovdh,10movdl,18call ffmov bl,10 call ff pop ax pop bx push bx push ax mov ax,0 mov al,bh mov cl,4 shr al,cl mov bl,al mov dh,10 mov dl,26 call ff pop ax pop bx push bx push ax

13、 mov al,bh and al,0fhmov dl,30call ffmov dh,0mov dl,15mov bl,22call ffpop axpop bxpop cxpop dxpop dipop siretxian endpff proc ;显示具体数值push axpush bxpush cxpush dx je l0cmp bl,1 je l1cmp bl,2je l2cmp bl,3je l3cmp bl,4je l4cmp bl,5je l5cmp bl,6je l6cmp bl,7je l7cmp bl,8je l8cmp bl,9je l9cmp bl,10je l10

14、 je ldl0:leadi,s0jmptyl1 :leadi,syjmptyl2:leadi,s2jmptyl3:leadi,s3jmptyl4:leadi,s4jmptyl5:leadi,s5jmptyl6:leadi,s6jmptyl7:leadi,s7jmptyl8:leadi,s8jmptyl9:leadi,s9jmptyl10:leadi,s11jmptyld : lea di,strty: mov ah,0fh ;示方式int 10hsub cx,cxmov cl,diinc diplot_next: add dh,di+2add dl,di+3mov ah,2int 10hmo

15、v al,dimov bl,di+1push cxmov cx,1mov ah,09int 10hpop cxadd di,4loop plot_nextpop dxpop cxpop axmov cx,100gg: dec cxloop ggretff endpclear procpush axpush bxpush cxpush dxmov ah,6mov al,0mov bh,1int 10hpop dxpop cxpop bxpop axretclear endp beep procpush axpush bxpush cxpush dxmov al ,10110110bout 43h

16、,almov al,533hout 42h,almov al,ahout 42h,alin al,61hmov ah,alor al,03out 61h,almov cx,8ff0hg7: loop g7dec bljnz g7mov al,ahout 61h,alpop dxpop cxpop bxpop axretbeep endpcode endsend start6. 运行的界面的步骤(1)点击“开始”按钮,然后选择“运行,在运行边框里填写cmd,按回车( 2 )进入下面这个界面Microsoft Windows XPJi 5.1.2600 版权所有 1985-2001 Microso

17、ft Corp.C: Documents and SettingsAdministratore:E:cd myE: mi/iasm mi/43)用 link 形成 exe 文件Microsoftriacpo Rssembler Uerslon b.MMCopyright Microsoft Corp 1981-1985, 198?. All rights reserued.Object filename m.OBJ:bounce listing NUL.LST:Cross-reference NUL.CRF:50722 + 399198 Bytes symbol space free0 Uar

18、ning Errors0 Seuere ErrorsE:myE:nylinl ny4Microsoft Ouerlay Linker Uersion 3.60Copyright Microsoft Corp 1983-198?. All rights reserued.Run File MV4.EXE:List File NUL.MAP:Libraries .LIB:LINK : uarning L4021: no stack segmentIf = 宀4)退出以上界面5)点击运行 My4.exe 查看最后的运行结果7.程序流程图8. 实验心得这学期学习了汇编语言这门课程,对它有了基本的了解和

19、认识。 自我感觉这门课并不是很难,反而很容易就理解弄懂,解决一些简单 的汇编语言程序设计问题,但是当拿到老师要求的题目时还是感觉有 些无从下手。查阅了很多资料,在读书馆看了很多书,老师同学也忙 了很多忙,然后一步步弄懂程序,并花了一周的时间在电脑旁边研究 程序,终于把所有不会的知识点都学习了一遍,然后慢慢完成老师交 代的任务。当我运行自己所编写的程序的时候,一种无以言表的喜悦 充满了我的内心。当我能根据运行结果解释为什么的时候,我能一一 解答出来,那种感觉无以言表。对于我所学习的计算机这个专业来说,编写程序是最基本,也是 最重要的技能,然而每次的课程设计都不是自己编写的这个很遗憾, 这次带着有些侥幸的完成,我感到有些惭愧。但是,我相信,在以后 的学习和实践中,我一定会汲取这次设计程序的经验和教训,争取把 这门专业学的更好,并且在以后的程序设计中争取自己编写程序。9.参考文献汇编语言程序设计 机械工业出版社董少明 主编汇编语言程序设计教程 清华大学出版社周伟 编著27

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!