版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号:0740303104姓名:雷凤
综合程序设计实验报告一、实验目的:1、训练常用程序的编程技巧,如数值计算、代码转换等。2、熟悉和掌握中断调用的使用方法3、熟悉串操作指令的功能与应用,掌握其使用方法;学会编写常用的字符串处理程序4、复习巩固文件的建立、汇编、链接,以及静态、动态调试的全部过程,熟练掌握运用调试工具进行排除和差错的方法,进一步提高调试程序的能力。5、上机前要求写好被调试程序的程序文本,并进行静态调试,然后拟定好调试计划和上机操作步骤。二、实验要求:1、具体了解和掌握分支,循环,子程序,输入输出的使用和在使用时应注意的问题2、学习设计综合性程序的的一般方法。三、实验内容1、实验任务编写两个双字节无符号十进制的加法程序。要求1.两个加数在程序运行时键盘上输入。检查键入的十进制数是否正确?错误要报错在屏幕上输出两个数的和。输入和结果前应该有提示信息2、实验的原理要显示提示信息,调用9号功能键。从键盘上输入一个十进制数后,要分别调用GETNUM和SHOWNUM俩个子程序,进而从屏幕上输出一个数,当从屏幕上显示出俩个数后,将俩数所在的寄存器进栈,相加,再次调用SHOWNUM子程序,在屏幕上输出相加结果。3、程序设计流程图
调用GETNUM得到一个数V四、实验步骤1、编辑(纪事本)DATASSEGMENTCLUE1DB0AH,0DHDB'INPUTANUM:$CLUE2DB0AH,0DHDB'INPUTANUM:$RESULTDB0AH,0DHDB'THESESULTIS;JIEGUODB?;此处输入数据段代码DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKS
MAINPROCFAR ;主程序PUSHDSSUBAX,AXPUSHAXMOVAX,DATASMOVDS,AX;MOVAX,STACKMOVSS,AX;START:MOVAX,DATASMOVDS,AXLEADX,CLUE1;显示第一条提示信息MOVAH,9INT21HCALLGETNUM;调用子程序,得到一个数PUSHAX;保护现场;CALLSHOWNUM;调用子程序,从屏幕上输出一个数LEADX,CLUE2;显示第二条提示信息MOVAH,9INT21HCALLGETNUM;调用子程序,得到一个数;MOVBX,AX;将AX的数送给BXPUSHAX;保护现场;CALLSHOWNUM;调用子程序,从屏幕上输出一个数LEADX,RESULT;显示结果MOVAH,9INT21HPOPAX;将人乂和BX弹栈POPBXADDAX,BX;俩数相加;ADDAL,30H;ConvertnumbertoASCIIcharacter;M;OVDL,AL;MOVAH,02H;INT21H;MOVAL,[BX];相加的结果送给AL;MOVJIEGUO,AL;结果存入JIEGUO单元;LEADX,JIEGUO;显示输出结果;MOVAH,9;INT21H;CALLGETNUM;PUSHAXCALLSHOWNUM
;POPAXRETMAINENDPGETNUMPROCPUSHPUSHBXCX;Savethecontentsofallregisters;exceptforAX,whichwillcontainthePUSHDX;numberwhichwasreadMOVBX,0H;ZerotheBXregisterNEXTDIGIT:MOVAH,1H;DOSinputcharacterfunction#1hexINT21H;GetacharacterCMPAL,'0';Ifthecharacterislessthan0,thenJLDONE;wehaveallthenumberandareDoneCMPAL,'9';Ifthecharacterismorethan9,thenJGDONE;wehaveallthenumberandareDoneSUBAL,30H;ConvertASCIItointegervalueXORAH,AH;ZerothehighbyteofAXPUSHAX;SavethedigitonthestackMOVAX,10D;Place10decimalinAXtomultiplybyMULBX;Multiplythenumberby10MOVBX,AX;GetnumberfromAXandputinBXPOPAX;GetthedigitbackfromthestackADDBX,AX;AddthedigittothenumberJMPNEXTDIGIT;GetthenextdigitDONE:MOVAX,BX;ReturntheNUMBERinAXregisterPOPDX;RestoretheregistersinreverseorderPOPCXJPOPBXJRET;ReturntoCallingprocedureGETNUMENDPSHOWNUMPROC;PUSHA;Savethecontentsofall;PUSHAregisters
MOVCX,0H;ZerotheCXregisterfordigitcounterMOVBX,10D;Setupdivisorof10decimalNEXTOUT:MOVDX,0H;ZeroDXregforhighorderwordofdivDIVBX;DividenumberinAXby10PUSHDX;SaveremainderonthestackINCCX;CountthedigitCMPAX,0H;IsnumberinAXgreaterthan0JGNEXTOUT;Yes,getnextdigitCHAROUT:POPAX;GetnumberfromthestackADDAX,30H;ConvertnumbertoASCIIcharacterMOVDL,AL;MovetocharacterprintregisterMOVAH,2INT21H;PrintthecharacterDECCX;ReducecharacterstoprintbyoneJNZCHAROUT;IfCX>0looptoprintnextdigit;POPA;RestoretheregistersRET;ReturntoCallingprocedureSHOWNUMENDP;此处输入代码段代码;MOVAH,4CH;INT21HCODESENDSENDMAIN2、 汇编(masm/ML)3、 连接(link)4、 调试(debug)5、运行INPUTANUM:45INPUTANUM:34THESESULTIS:79Pressanykeytocontinue五、实验中各个步骤遇到的问题及解决方法、1、 汇编(masm/ML)2、 连接(link)3、 调试(debug)刚开始时就是只能显示俩条提示信息,不能输出输出结果的提示信息,也不能输出结果,这个问题是在给老师检查时老师在子程序CHAROUT部分调用了2号功能键,然后问题就迎刃而解了。六、总结经验这个程序如果完全要自己来写,是很难完全写对的,由于所有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市有研工程技术研究院有限公司2026届秋季校园招聘17人备考题库及参考答案详解
- 2025年宁夏中科碳基材料产业技术研究院招聘备考题库完整参考答案详解
- 2026年工程项目跟踪管理合同
- 2026年智能医疗数据血缘分析工具采购合同
- 工商银行的抵押合同(标准版)
- 2026年医院外部审计合同
- 中山大学附属第三医院粤东医院2026年合同人员招聘备考题库附答案详解
- 践行习近平生态文明思想解放思想促进高质量研讨材料
- 中华人民共和国药品管理法试题及答案
- 2025年烟台市检察机关公开招聘聘用制书记员的备考题库(24人)参考答案详解
- 吉安市农业农村发展集团有限公司及下属子公司2025年第二批面向社会公开招聘备考题库有答案详解
- 文冠果整形修剪课件
- 2025年盐城港控股招聘面试题库及答案
- 2026年益阳医学高等专科学校单招职业技能测试题库附答案
- 国家开放大学《商务英语4》期末考试精准题库
- 2025秋季《中华民族共同体概论》期末综合考试-国开(XJ)-参考资料
- 机械通气患者误吸预防及管理规范
- 2025年应急环境监测车行业分析报告及未来发展趋势预测
- AI生成时代虚拟生产力与生产关系变革
- 船舶进出港调度智能化方案
- 项目招标评标方案
评论
0/150
提交评论