钟计算机综合实践1-5.docxVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
四川大学网络教育学院 实践课程报告 实践课程计算机综合实践 校外学习中心 专业 层次 年级  电气工程及其自动化 专升本 10秋 学生姓名 学号 2013年9月18日 实验一  熟习、使用  DEBUG调试工具 一.实验目的: 1.认识并逐渐熟习汇编语言的编写方法及特色. 2.复习8088汇编语言的段构造、常用的指令与伪指令、储存空 间的分派等。 3.掌握汇编语言的编写、汇编及连结的过程。 4.认识并逐渐掌握运用DEBUG进行调试汇编语言程序。 二.实验内容: 1.运用8086汇编语言,编写多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。 2.运用MASM﹒EXE文件进行汇编,改正发现的各样语法错误, 直至正确,形成*.OBJ文件。 3.运用文件进行连结,形成*.EXE文件。 4.认真阅读附录中的DEBUG部分,掌握各样命令的全部方法。 5.运用DEBUG。EXE文件进行调试,使用单步履行命令—T两次,观察寄存器中内容的变化,使用观察储存器数据段命令—D,观察储存器数据段内数值。 6.再使用连续履行命令—G,履行程序,检查结果能否正确,若不正确可使用DEBUG的设置断点,单步履行等功能发现错误所在并加以更正。 程序清单: 多字节非压缩型BCD数除法(88754/6=14792) DATASEGMENT DB8,8,7,5,4 DB6 CDB5DUP(0) EQU5 DATAENDSCODESEGMENT ASSUMECS:CODE;DS:DATA;ES:DATA, STARTMOVAX,DATA MOVDS,AX MOVES,AX CLD LEASI,A LEBDI,C MOVCX,N MOVAH,0 LP1:LODSB AAD DIVB STOSB LOOPLP1 MOVCX,N LEA DI,C LP2:MOV DL,[DI] MOV AH,2 开始 INT 21H DECDI 设置被除数、商的地点指针 LOOP LP2 设置单位除法次数计数器 MOV AH,4CH INT 21H 取被除数一位作十进制调整 CODE:  ENDS ENDSTART  作字节除法、存商 N  被除数各位已除完 Y 显示运算结果 结束 三、实验领会 经过本次实验,我认识了汇编语言的编写方法及特色,掌握汇编 语言的编写、汇编及连结的过程,并逐渐掌握运用DEBUG进行调试 汇编语言程序。但对其的熟习程度和应用还远远不够,所以需要经过 增强练习,提升水平。 实验二设计汇编语言程序 一.实验内容 1、字符串统计程序设计2、双字乘法程序设计 二.实验内容 1.字符串统计。 在数据段中成立一个缓冲区BUFFER,变量VER,编程使得程 序拥有以下功能:从键盘输入一个子字符串存入VER,从键 盘输入包含一个或几个子字符串的字符串存入BUFFER。统计 BUFFER中的字符串含有多少个子字符串以及每个子字符串 的地点。 2.双字乘法程序。 设计一个程序实现32位带符号双精度数乘法运算。因为只有8 位和16位的乘法指令。所以32位乘法运算是不可以直接用指令 实现的。但能够用16位乘法指令,经过4次想乘而后把部分 积想加。关于带符号数,能够先依据绝对值求得积。而后判断 积的符号,若积为负数,应将其用补码表示。 三.实验流程与程序: 子程序进口 AX←NUM1 开始DX:AX←AX*NUM2 乘积符号标记SIGN=0MRLT←AX,MRLT+2←DX 被乘数0  Y  AX←NUM1+2 N 被乘数取补  DX:AX←AX*NUM2 SIGN  标记取反  MRLT+2←AX+MRLT+2,MRLT+4← DX+C 乘数0  Y  AX←NUM1 N 乘数取补  DX:AX←AX*NUM2+2 SIGN  标记取反  MRLT+2←AX+MRLT+2,MRLT+4← DX+C 调用  32位无符号乘办法程序 SIGN=0 N 乘积取补  Y  保留进位 AX←NUM1+2 DX:AX←AX*NUM2+2 结束  恢复进位 32位带符号数乘法流程图  MRLT+4←AX+MRLT+4,MRLT+6←DX+C RET 32位无符号乘办法程序流程图 datasegment ioportequ0d400h-0280h io8253aequioport+280h io8253bequioport+283h io8255aequioport+288h io8255bequioport+28bh io0832adata1  equioport+290h db80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh db0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96h db80

文档评论(0)

183****3869 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档