汇编第2次实验报告.docVIP

  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文档。上传文档
查看更多
汇编第2次实验报告

实验名称:分支结构程序设计 班级:计062 日期:2008年4月13日 (第2次) 学号:200600401079 姓名:周玉祥 指导老师:蓝红莉 系(院):计算机工程系 实验程序1:在BUF和BUF+1,BUF+2单元分别存放有一个无符号数,将其中最大数存入MAX单元,并在屏幕上显示结果。 源程序: DATA SEGMENT BUF DB 38H,73H,1FH MAX DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,BUF ;将BUF的值送入AL中 CMP AL,BUF+1 ;比较BUF和BUF+1内的数,大于或等于L1 JNB LP1 MOV AL,BUF+1 ;BUF中的数小于BUF+1中的数,则BUF+1内的数(AL L1:CMP AL,BUF+2 ;比较AL和BUF+2内的数,大于或等于转L2 JAE L2 MOV AL,BUF+2 ;小于,则大数(AL L2:MOV MAX,AL ;存结果 MOV BL,AL ;转存BL,为后续处理做准备 AND AL,0FH ;分离最大数的低4位 CMP AL,0AH ;比较是0至9还是A至F JB L3 ;是0至9,转L3 ADD AL,07H ;是A至F,则对应的数加37H L3:ADD AL,30H ;是数字0至9,则对应加30H MOV DL,AL ;处理后的结果送DL MOV AH,2 ;2号DOS功能调用显示结果的高位 INT 21H MOV AL,BL ;最大数恢复到AL中 MOV CL,04 ;设置移位位数 SHR AL,CL ;对高4位进行分离 CMP AL,0AH ;比较是0至9,还是A至F JB L4 ;是0至9,还是A至F ADD AL,07H ;是A至F,则对应的数值加37H L4:ADD AL,30H ;是0至9,则对应的数值加30H MOV DL,AL ;处理后的结果送DL MOV AH,2 ;2号DOS功能调用显示的低位 INT 21H MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START (1)程序流程图: (2)CF标志位是进位标志,记录运算结果的最高位向前进位或借位。若有进位或借位则置CF=1,否则清0。可用与检测无符号数二进制加减法运算时是否发生溢出(溢出时CF=1)。 SF是符号标志,记录运算结果的符号,若结果为负则置1,否则清0。 OF是溢出标志,记录运算结果是否超出了操作数所能表示的范围。若超出则置1,否则清0。可用与检测带符号数运算时是否发生溢出。 (3)总结设计分支程序必须解决的三个问题:判断,转向和定标号 在分支程序设计中需要测试条件,判断若符合条件则转向另一分支,否则按顺序执行,而转向操作是分支程序的执行逻辑,标号代指子程序,这些都是分支程序中不可缺少的。当判断条件符合某一条件时,程序执行顺序随即转向该条件程序执行,并通过标号转入该程序。 (4) 实验中遇到的问题及解决办法 实验时应注意条件判断后执行的的子程序,子程序中的条件判断又转向另一子程序,应该在读程序的同时就画流程图,可避免逻辑混乱。主程序执行完后要回到最初的分支执行的子程序。 (5)程序运行结果: 实验程序2:编辑实现从键盘输入一位数字,判断起奇偶性,并在屏幕上输出一个标志,若为奇数则输出1,否则输出0。 源程序: CODE SEGMENT ASSUME CS:CODE START: MOV AH,01H ;调用DOS中断的1号功能(输入一个字符) INT 21H ;AL(输入一位数字 CMP AL,30H ;若输入比0小的字符则重新输入 JB START CMP AL,39H ;若输入比9大的字符则重新输入 JA START CLC

文档评论(0)

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

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

1亿VIP精品文档

相关文档