汇编语言课程设计

汇编语言课程设计

ID:19604734

大小:176.00 KB

页数:16页

时间:2018-10-04

汇编语言课程设计_第1页
汇编语言课程设计_第2页
汇编语言课程设计_第3页
汇编语言课程设计_第4页
汇编语言课程设计_第5页
资源描述:

《汇编语言课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《汇编语言》课程设计任务书16一、题目1.简单的计算器2.字典3.“Pc”钢琴二、目的:本次课程设计的目的是提高学生分析问题、解决问题的能力以及实际动手能力,进一步加深学生对汇编语言程序设计基本理论的理解,使学生熟练掌握汇编语言程序上机调试的方法技巧、结构化程序设计技术及高级汇编语言技术,能编写较复杂的应用程序,为学习后继课程打下扎实的基础。三、已知技术参数和设计要求:1.编写一个有符号多位十进制数的四则运算计算器程序,所输入的算式如下例所示:-278+32=-132――12=11*-32=-1234/-18=要求程序能接收键入的算式,在接收到‘=’

2、号时,计算并以有符号十进制数的形式显示结果,然后允许用户继续键入算式。如果键入算式后再键入‘.’,则显示结果并结束整个程序。(‘/’为整除)2.已知一个由英语单词组成的字符串已按字典序排好,每个单词以空格符为结束,该串的首二字节为16位无符号二进制数,用以说明串的长度。试编程能从键盘上输入单词(以空格字符为结束),若字符串中没有该单词,则将该单词插入该串适当的位置,使其仍保持字典序,并修改串长度,显示单词在串中位置及串长度;若字符串中有该单词,则显示字符串中所有包含该单词的单词,及其在字符串中的位置。3.编写程序,程序运行时使PC机成为一架可弹奏的“

3、钢琴”。当按下数字键0~9时,发出6,7,1,2,3,4,5,6,7,i,十个音调,按‘.’则退出“钢琴”状态。总体要求1)程序结构清晰,相对独立的功能应尽量用子程序实现2)有较多提示信息,以方便用户使用3)能检测用户输入的错误,并作相应处理4)每个程序应作较多测试,以证明程序的正确性16实验一:源代码:DATASEGMENTSIGDB00H;用来记录要进行的运算NUM1DW0;用来记录输入的第一个数NUM2DW0;用来记录输入的第二个数XDB10;当输入的下一个数字时,大小为前一个数需要乘10DATAENDS;再加上当前的数CODESEGMENTM

4、AINPROCFARASSUMECS:CODE,DS:DATASTART:MAINT1:MOVAH,1;输入要运算的算式INT21HMAINT3:CMPAL,30H;和0作比较JLL1;小于0时转去L1CMPAL,3DHJZMAINT2;当输入”=”时转去MAINT2进行计算结果CALLBIN;调用子程序BIN,计算数值真实大小CMPDX,1JNZL5NEGBX;当DX为1使需对BX进行取反MOVDX,0;恢复DXL5:CMPCX,1JZL3MOVNUM2,BX;CX不等于1时记录当前输入的第二个数JMPMAINT3L3:MOVNUM1,BX;记录当

5、前输入的第一个数JMPMAINT3L1:CMPAL,2EHJZquit;当输入的字符为”.”时转去quit,即程序运行结束CMPCX,1JNZL2MOVSIG,AL;当CX不等于1时,即为当前要进行的运算MOVCX,216JMPMAINT1;返回MINT1继续输入算式L2:CMPAL,2DHJNZMAINT1MOVDX,1JMPMAINT1quit:MOVAH,4CH;程序运行结束INT21HMAINT2:CMPSIG,'+';SIG为”+”时进行加法操作JNZS1MOVAX,NUM1MOVBX,NUM2ADDAX,BXJMPMAINT4S1:CMP

6、SIG,'-';SIG为”-”时进行减法操作JNZS2MOVAX,NUM1SUBAX,NUM2JMPMAINT4S2:CMPSIG,'*';SIG为”*”时进行乘法操作JNZS3MOVAX,NUM1MOVDX,0IMULNUM2JMPMAINT4S3:MOVAX,NUM1;否则进行除法运算MOVBX,NUM2IDIVBLCBWMAINT4:MOVBP,SP;当数为负数时进行取反操作TESTAX,8000HJZOUT2MOVBX,AXMOVDL,'-'16MOVAH,2INT21HMOVAX,BXNEGAX;取AX的反OUT2:DIVX;不断乘以10M

7、OVBL,AHMOVBH,0PUSHBXMOVAH,0CMPAL,0JNZOUT2OUT3:POPDX;输出所求的结果ADDDL,30H;因为显示的是ascall码,所以需加上30HMOVAH,2INT21HCMPBP,SP;当bp和sp指向同一位置时输出结束JNZOUT3MOVDL,0AHMOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HJMPSTART;返回START进行下一轮计算MAINENDPBINPROCNEAR;子程序BIN用来转换输入的数字大小,即计算数值;的真实大小PUSHDXMOVBX,0INCCXSUBAL,3

8、0HCBWXCHGAX,BXMOVDX,1016MULDXXCHGAX,BXADDBX,AXBINT1:MO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。