天大计算机科学与技术学院—汇编语言—上机实验报告302.docVIP

天大计算机科学与技术学院—汇编语言—上机实验报告302.doc

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

天津大学计算机科学与技术学院实验报告 PAGE  共 NUMPAGES 5页 第 PAGE 5页 《汇编语言》实验报告(三) 年级:2011 班级: 学号: 姓名: 实验题目 请用子程序结构编写如下程序:从键盘输入一个二位十进制数的月分数(01-12),然后显示出相应的英文缩写名。 实验要求 1.掌握程序的设计方法; 2. 掌握通过DOS系统功能调用实现屏幕显示与键盘输入; 3. 熟练使用TD/DEBUG调试程序。 程序设计说明(用来说明程序的功能、结构。包括:程序名、功能、原理及算法说明、程序及数据结构、主要符号名的说明、程序框图等。) 首先在定义数据段时,先用串定义好各个月份的数据.例如db February,$.接着定义一个数族P,里面放着12个数据,分别存放每个月份开头大写字母的偏移量.在代码段里,用DOS功能实现字符的输入,共需要输入2个字符.例如07,11.第一个字符只能是0或1,利用si在计数,起始为0,当第一个字符为1,si增加10,否则不增加.第二个字符的输入时,扣掉30h之后,与si相加,并存放在si上.然后利用si的大小,来访问数组p的数据,并找到各个月份首字母的偏移量,将其输出.程序调试说明(包括:调试情况,如上机时遇到的问题及解决办法,观察到的寄存器、存储器的内容或状态及其分析.对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会,以及诸如调试日期、文件存放位置等需要记录的信息。) 当输入07时,si=0007,之后,si减1,si=0006,cx=0026,输出July.当输入11时,si=0000B之后,si减1,si=000A,cx=0044,输出November.符合预期估计.实验结果与结论(经调试正确的程序的运行结果) 五、使用说明(包括:程序的使用方法,调用方式,操作步骤等;要求输入信息的类型及格式;出错信息的含义及程序的适用范围等。) 本程序的功能是从键盘输入一个二位十进制数的月分数(01-12),然后显示出相应的英文缩写名.在使用时,只需要输入01-12,便能得到月份的英文.实验中遇到的问题及解决方法 程序的困难之处在于确定各个月份首字母的偏移量,还有就是怎么将输入的2个字符转换成数组P的偏移量si的值. 程序源代码 data segment month db January,$ db February,$ db March,$ db April,$ db May,$ db June,$ db July,$ db Aguest,$ db September,$ db October,$ db November,$ db December,$ p db 0,8,17,23,29,33,38,43,50,60,68,77 data ends stack segment para stack dw 20h dup (0) stack ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax mov si,0 mov ah,1 int 21h test al,01h jnz next jmp next1 next: add si,10 next1: mov ah,1 int 21h sub al,30h xor cx,cx mov cl,al add si,cx dec si xor cx,cx mov cl,p[si] mov si,cx mov ah,09h mov dx,si int 21h mov ah,4ch int 21h code ends end start ? 完成日期:_____5月20日______

文档评论(0)

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

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

1亿VIP精品文档

相关文档