课程设计代码转换.docxVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计代码转换

代码转换1.基本功能描述这是一个基于计算机和汇编环境的程序,它能够实现基本的大小写字母之间的转换,二进制数和十六进制之间的相互转换以及十六进制数向十进制数的转换。而且该程序界面友好,能够通过键盘输入选择相应的转换,结果也能够比较直观的显示在我们眼前,具有一定的人机交互性。2.设计思路2.1 思路一采用顺序结构程序,所有的操作都集中在一个程序中。首先,利用DOS系统功能调用其09H号功能号,显示提示语句提示用户选择输入字符的类型:“Please choose the typeof the character to input:1.Hexadecimal 2.Binary 3.Letter”。用户通过选择语句选择相应的输入字符类型。选择语句:MOV AH,01H INT 21H CMP AL,31H JZ LP1 CMP AL,32H JZ LP2 CMP AL,33H JZ LP3LP1,LP2,LP3分别为十六进制、二进制、字母的转换程序段。当从键盘输入‘1’时,选择十六进制,并跳转到其程序段,再采用相同的选择方式选择它要转换的类型:1.二进制 2.十进制,再次跳转到相应的程序,完成转换操作。同理,当输入‘2’、‘3’时,分别完成二转十六和大小写之间的转换。当输入其他的字符时,会报错并提示重新选择。当转换操作完成以后,程序会自动跳转到结束语句,结束程序。结束语句:MOV AH,4CH INT 21H开始程序流程图如下:显示结果从最后一位取数,每四位求和输入一串二进制数减20H加20H显示小写大写判断输入字母字母二进制除1,显示个位除10,显示十位除100,显示百位除1000,显示千位除10000,显示万位求和判断是否为十六进制数显示’1’显示’0’判断是否为十六进制数选择转换类型十六进制还循环吗?带CF循环左移CF=?将ASC码转换输入十六进制数二进制将ASC码转换输入十六进制数十进制选择输入类型提示语句图1 程序流程图10NYY结束程序2.2 思路二将转换操作都写成一个个模块,整个程序由若干个模块组成,其中有一个主模块,可以调用模块。模块二进行大小写字母的互相转换,主要利用小写字母的ASC码比大写字母大20H;模块三实现二进制数向十六进制数的转换,可以利用移位指令来实现;模块四实现十六进制数向二进制数的转换,也可采用移位指令实现;模块五实现十六进制数向十进制数的转换,首先将十六进制数转换成二进制,然后再实现二进制向十进制数的转换。程序的流程图和思路一大致相同。2.3 实现方案比较思路一和思路二可以知道,思路一程序比较冗长,当时操作起来比较简单。思路二将不同的操作转换写成不同的模块,各模块分开,但是又可以通过主程序调用它们,思路比较清晰,比较直观,但是运行的时候比较麻烦,而且模块的方法平时运用也比较少,因此,本次采用思路一作为实现方案。3.软件设计3.1 程序的初始化在数据段在定义程序中一些必要的提示语句,以及一些转换程序中应用到的数据。具体语句如下:DATAS SEGMENT STRING1 DB 0AH,0DH,Please choose the type of charactor to input:,$ STRING2 DB 0AH,0DH,1.Hexadecimal 2.Binary number 3.Letter ,$ STRING3 DB 0AH,0DH,Please choose the type to change:1.Binary 2.Decimal,$ STRING4 DB 0AH,0DH,Please input a leter:,$ STRING5 DB 0AH,0DH,Please input a binary number:,$ STRING6 DB 0AH,0DH,Please input a hexadecimal:,$ STRING7 DB 0AH,0DH,Please change it into a lower case:,$ STRING8 DB 0AH,0DH,Please change it into a capital leter:,$ STRING9 DB 0AH,0DH,Please change it into a hexadecimal:,$ STRING10 DB 0AH,0DH,Please change it into a binary n

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档