(汇编语言课程设计.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(汇编语言课程设计

《 汇编语言》课程设计 任 务 书 一、题目 1.简单的计算器 2.字典 3.“Pc”钢琴 二、目的: 本次课程设计的目的是提高学生分析问题、解决问题的能力以及实际动手能力,进一步加深学生对汇编语言程序设计基本理论的理解,使学生熟练掌握汇编语言程序上机调试的方法技巧、结构化程序设计技术及高级汇编语言技术,能编写较复杂的应用程序,为学习后继课程打下扎实的基础。 三、已知技术参数和设计要求: 1.编写一个有符号多位十进制数的四则运算计算器程序,所输入的算式如下例所示: -278+32= -132――12= 11*-32= -1234/-18= 要求程序能接收键入的算式,在接收到‘=’号时,计算并以有符号十进制数的形式显示结果,然后允许用户继续键入算式。如果键入算式后再键入‘.’,则显示结果并结束整个程序。(‘/’为整除) 2.已知一个由英语单词组成的字符串已按字典序排好,每个单词以空格符为结束,该串的首二字节为16位无符号二进制数,用以说明串的长度。试编程能从键盘上输入单词(以空格字符为结束),若字符串中没有该单词,则将该单词插入该串适当的位置,使其仍保持字典序,并修改串长度,显示单词在串中位置及串长度;若字符串中有该单词,则显示字符串中所有包含该单词的单词,及其在字符串中的位置。 3.编写程序,程序运行时使PC机成为一架可弹奏的“钢琴”。当按下数字键0~9时,发出6,7,1,2,3,4,5,6,7,i,十个音调,按‘.’则退出“钢琴”状态。 总体要求 1)程序结构清晰,相对独立的功能应尽量用子程序实现 2)有较多提示信息,以方便用户使用 3)能检测用户输入的错误,并作相应处理 4)每个程序应作较多测试,以证明程序的正确性 实验一: 源代码: DATA SEGMENT SIG DB 00H ;用来记录要进行的运算 NUM1 DW 0 ;用来记录输入的第一个数 NUM2 DW 0 ;用来记录输入的第二个数 X DB 10 ;当输入的下一个数字时,大小为前一个数需要乘10 DATA ENDS ;再加上当前的数 CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA START: MAINT1: MOV AH,1 ;输入要运算的算式 INT 21H MAINT3: CMP AL,30H ;和0作比较 JL L1 ;小于0时转去L1 CMP AL,3DH JZ MAINT2 ;当输入”=”时转去MAINT2进行计算结果 CALL BIN ;调用子程序BIN,计算数值真实大小 CMP DX,1 JNZ L5 NEG BX ;当DX为1使需对BX进行取反 MOV DX,0 ;恢复DX L5: CMP CX,1 JZ L3 MOV NUM2,BX ; CX不等于1时记录当前输入的第二个数 JMP MAINT3 L3: MOV NUM1,BX ;记录当前输入的第一个数 JMP MAINT3 L1: CMP AL,2EH JZ quit ;当输入的字符为”.”时转去quit,即程序运行结束 CMP CX,1 JNZ L2 MOV SIG,AL ;当CX不等于1时,即为当前要进行的运算 MOV CX,2 JMP MAINT1 ;返回MINT1继续输入算式 L2: CMP AL,2DH JNZ MAINT1 MOV DX,1 JMP MAINT1 quit: MOV AH,4CH ;程序运行结束 INT 21H MAINT2: CMP SIG,+ ;SIG为”+”时进行加法操作 JNZ S1 MOV AX,NUM1 MOV BX,NUM2 ADD AX,BX JMP MAINT4 S1: CMP SIG,- ;SIG为”-”时进行减法操作 JNZ S2 MOV AX,NUM1 SUB AX,NUM2 JMP MAINT4 S2: CMP SIG,* ;SIG为”*”时进行乘法操作 JNZ S3 MOV AX,NUM1 MOV DX,0 IMUL NUM2 JMP MAINT4 S3: MOV AX,NUM1 ;否则进行除法运算 MOV BX,NUM2 IDIV BL CBW MAINT4: MOV BP,SP ;当数为负数时进行取反操作 TEST AX,8000H JZ OUT2 MOV BX,AX MOV DL,- MOV AH,2 INT 21H MOV AX,BX NE

文档评论(0)

lunwen1978 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档