文档详情

微机原理与汇编语言程序设计课程设计

夏**
实名认证
店铺
DOCX
534.14KB
约38页
文档ID:491257544
微机原理与汇编语言程序设计课程设计_第1页
1/38

一、 课程设计(综合实验)的目的与要求本课程设计包含软件部分和硬件部分两个环节软件部分:进一步熟悉汇编语言设计方法和步骤,完成在有限的课内实验环节无法涉及 到的具有综合设计性的软件实验,主要内容包括:1.完善前期号码本设计的功能;2.显 示器I/O程序设计,完成窗口控制程序;3.发声系统设计;4.键盘程序设计硬件部分:利用伟福试验设备中的8253可编程定时/计数器,8259中断控制器,8255 可编程并行接口芯片和七段数码管等设计一个电子钟电路,并编制一个程序使电子钟能正常 运行二、 设计(实验)正文软件部分1. 【实验一】:号码本程序完善1.1. 实验要求:根据课内实验验收时指导教师提出的意见,以及和同学讨论的结果,设计实现一个功 能比较完善的号码本,并在设计中体现自己的工作特色,即具备和其他设计不同之处1.2. 实验设计:1) 已有功能:(1) 号码本,包括人名和号码2) 程序可以完成号码的添加、查询,号码本的排序和显示2) 增加功能:(1) 号码中已有记录条数显示和剩余记录数显示(2) 查询时出现重名情况,显示所有具有该名的人的信息1.3. (增加功能的)实现原理:1) 建立一个可存放100项的号码表,每项包括人名(最多10个字符)和号 码(最多11个字符)两个部分。

2) 设置变量Storenumber 已经存入的信息数和变量spacenumber 还可以存入的信息数每当添加一个记录,storenumber+1,spacenumber-1,并 且 0WstorenumberW100, 0WspacenumberW1005 顷白顷 g 皿 ospacenunber db 100 ;还诃以存A&lC话信息数3) 显示Storenumber和spacenumber时,用display子程序,用除10取余法将Storenumber和spacenumber转换成十进制数并输出4)在已有的Storenumber条记录里,遍历每条记录的名字,只要名字完全相符,就■ ■ ■■ Mi iMriii ■ ■ *iii ■ dii lifriii ■ ■ A: ■ ■ • lit ■ il it M J' 1-^-* / it基■ H it 房■ a if a ■ at it ■ W it 隽a nt it mt at ・;用除]喊紊法将二进制敖转换成H制数并输出 display prucHOU CNf3 :用"除以循环状xnr,h"h MOV Hl,It) LP1; XOR dhtah D]U bl 顾ahr3«H ;咆除法后,时中存商湖申存余数,余数转换成对应的机1】码压入栈push an LOOP LP1 H叫CX>3 ;将之前从低位到高位依次压入的顺序弹出,循环3次LP2: POP DK nov Hl Ah HOU AH.02H INT 21H LOOP LP2 ret dMplwy endp输出该条记录,直到遍历完所有记录。

1.4. 实验实现:1)子程序:① mulu子程序一一显示程序标题并介绍各指令按键与功能② Number子程序一一显示已有和尚存条数信息③Storename子程序 存入人名和号码④ Order子程序一一冒泡排序,将输入的名字和按名字排序⑤ Findname子程序一一查找并打印所有符合的名字及号码⑥ Showall子程序一一排序后,打印所有已记录的名字号码2)主程序:①输入指令并判断;②根据输入的指令,跳转到对应的功能区域和子程序做处理;1.5. 实验结果1)初始界面:DOSBdx 0.74r Cpu speed: 3000 cycles F ram eskip Of Pro...Tfe I Ep 11O11C B D k ****IHress "H” : add a new record'rcss "F” : f ind recordiress "S” : shnid all the records(press "E” : exitLstorert number l: 090[Rerrtained number I 100ledie input yuLir choicie-2)添加记录::add a mew record:fimd rernrd:^}iuw please Input a telephone number uith 11 nuiiiliers;33333[stored number J: G03 [Remained number]« G9?Please iinput your choice: zname TelephoneRg 1111111bbbb 岸匕窟岸匕bbbL 33333—[stored number ]: G03 [Rerrtained number] G97ricaae i input yum1 choice :-——4)显示查找到的姓名为bbbb的人的信息:[s Luied number ]; GOO「Rennin前 numtiFrl : S7Hease input your clioice: fplease Imput tlic name you F imding : bbbbname TelephoneUbL 22222222bbbb 333331.6. 实验代码DATAS SEGMEHTbaqk db 2伽(lnp(H 门 bookend dy ufnara» db 10 dlup(?) storpnunber db 0spa'C'Pfiiuiiihpt* db 1 utiflHdtdl dli 0 用字蝴入的蝴中区 telinjmi? db 11 db ?db 11 dup(?) [输入g巾区 phone db 12db Ydb 12 dH9, »*■ ■ »»**i+ ■ ■ »»»*#■ ■ »»#*# Telpfhone 日。

k ■ »»**■■■ »»**■ ■ ■ »»**■ ,QdhBQah>■ $11'Press "[fir" : ddd d nF!# rtcard' «0iHipCidl,hp■Press wlFhh :: Fiiaid recordl *\ Odh T 0iah 3' $ 1■press : show all the reciros ■ ..adin.tMiri,'$fc■ press "1"" :: ^xit 呼.9h. Oah,・ $ ・B T Qdh^Qahi, *$p1 B P0dhrOah/$B■Pledge ■ please ■please 'pleaseinpulInputInputInputyour LhaiLv: B t'$"m nanp uith Iees than 10 characters:a 11 $ a telephone number ifith 11 numbers: -.the naw jfou Finding:' pq$'OiiTAS ENPS|'[stored nunber ]: 8 / $';-[Renained number]: 8 ,*$*;■ Ndne TelepliuiiE L Ddli, Odh ,'4 Nd PsrsDnl * .Oidlh R flah,4 $ '■ Sorrytlhe nsne is not existpd?的存到 示示 旨潮$■;代码段CODES SEGMENT ft^SUMESTftllT:MIIU 心.DM低 MOU DSg ciL L mu 1II main:MIL nunhpr mov dh ,0111 iut 21h call crlf emp dl / M' je WD emp al / a' je WDemp al,'F' je FIND emp alt1f1 je FINDemp t1S1 je SH emp alt15' je SHenp alF1E1 j已 EXIT emp alF >1 je EXIT jmp mainRD:瘤加新的记录Lea dKtinnanenou ah.@9hint 2inDdll stortridne rail crlfLea dx,inphonefwu mh,四 h£nr zini^ll storephuneinc storpnunberdec spacenunbermil ordercall cfIF cd11 crlF call crlf jmp iuinFIND:;根据姓名查找号码 lea dx t fLnditanesnov ah,(Whint 21hcall Findname cd11 trlF cd11 crlf call crlf jmp iuinSH:;显示所有号码 Lea dK tshounou ahT fl^hint 21hcall sliDinall cj11 crlf call crlf call crlf jfiip iuinEXIT:;退出 mu ah viirh。

下载提示
相似文档
正为您匹配相似的精品文档