版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称汇编语言程序设计实验项目实验二、分支、循环程序结构和设计实验仪器微机系统、汇编调试环境系别 计算机科学与技术专业 计算机科学与技术班级/学号 学生姓名 实验日期 成绩 指导教师 胡信裕 PAGE1实验二分支、循环程序结构和设计实验目的学习汇编程序设计的基本方法,掌握用汇编语言设计、编写、调试和运行程序的方法;熟悉汇编语言源程序的编辑和汇编、目标模块的连接以及可执行程序的调试;熟悉、掌握顺序结构、分支结构、循环结构程序设计和调试。实验要求Windows操作系统并具有命令提示符操作界面的计算机,且系统内安装有汇编语言编程环境。在开始本实验之前,复习教科书的相关内容,并预先写出相应的源程序。通过汇编IDE上机调试,注意观察,并记录下现象。实验内容(一)将键盘上输入的十六进制数转换成十进制数,在屏幕上显示【可键入任意字符,但只对十六进制数转换显示】,遇ESC键输入结束程序运行退出。部分程序设计参考如下:【要求分析理解后加必要注释】DATASEGMENTXdb0dh,0ah,'pleaseinput4charsof16H:','$'Ydb0dh,0ah,'ouputofresult:','$'DATAENDSCodesegmentMainprocfarAssumecs:codeStart:Movax,dataMovds,ax;读键盘R_key:movah,09hmovdx,OFFSETXint21hmovah,01h;获取输入的字符并显示int21h;键入数处理cmpal,1bh;'ESC'=1bhjzexit;当al=1bh时,跳转到exit退出cmpal,'0';比较al与0jlR_key;当al<0时,跳转到R_key重新输入cmpal,'9';比较al与9jleD0_9;当al<=9时,跳转到D0_9进行进制转换cmpal,'A';比较al与AjlR_key;当al<A时,跳转到R_key重新输入cmpal,'F';比较al与FjleDA_F;当al<=F时,跳转到DA_F进行进制转换cmpal,'a';比较al与ajlR_key;当al<a时,跳转到R_key重新输入cmpal,'f';比较al与fjleDa_f;当al<=f时,跳转到DA_F进行进制转换JMPR_key;若不符合上述情况,则无条件转移到R_key重新输入;0~9的处理D0_9:subal,30hmovah,0;高位置零movbx,axjmpdisp;无条件转移;A(a)~F(f)的处理DA_F:addal,0fh;使低四位数据有效andal,0fh;高四位清零,取al的低四位movah,1;添高位movbx,axdisp:movah,09hmovdx,OFFSETYint21haddbh,30h;高位转换成ASCII码movdl,bh;显示十位movah,2int21haddbl,30h;低位转换成ASCII码movdl,bl;显示个位movah,2int21hmovdl,0dh;回车int21hmovdl,0ah;换行int21hjmpr_key;无条件转到R_key获取键盘输入exit:movax,4c00hint21h;retmainendpCodeendsEndmain运用文本编辑器编辑实验源程序(EXP2_1.asm);在IDE操作环境下,对源程序(EXP2_1.asm)进行编译和连接,生成生成链接文件(EXP2_1.obj)和可执行文件(EXP2_1.exe);运行IDE操作环境下的调试命令,调试可执行文件(EXP2_1.exe);运行IDE操作环境下的执行命令,运行可执行文件(EXP2_1.exe)结果说明:输入16进制数:1af2gqesc输出十进制结果:110152nullnullend实验结果【是/否】符合实验程序设计要求。确实符合实验设计要求(二)将键盘上输入的四位十六进制数转换成十进制数,并在屏幕上显示【可键入任意字符,但只接受十六进制数输入;可设定四次有效键盘输入、或以回车键作为当前输入结束,开始转换显示】,遇ESC键输入结束程序运行退出。程序设计如下:【要求加必要注释】DATASEGMENTBUFDB4DUP(?)NEQU4RESULTDB5DUP(?),20H,'$'mess1db0dh,0ah,0ah,'pleaseinput4charsof16H:','$'mess2db0dh,0ah,0ah,09h,'ouputofresult:','$'mess3db0dh,0ah,0ah,09h,'error!!!',0dh,0ah,'$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXR_KEY:MOVCX,NLEASI,BUFmovah,9movdx,offsetmess1int21hLP1:MOVAH,1INT21HCMPAL,1BHJEEXITCMPAL,'0'JLLOP7CMPAL,'9'JLELOP9CMPAL,'A'JLLOP7CMPAL,'F'JLELOP11CMPAL,'a'JLLOP7CMPAL,'f'JGLOP7;将键盘输入的合法数据存入定义的变量BUF中LOP12:SUBAL,20HLOP11:SUBAL,07HLOP9:SUBAL,30HLOP10:MOV[SI],ALINCSILOOPLP1JMPLOP8LOP7:MOVAH,9MOVDX,offsetmess3INT21HJMPLP1LOP8:MOVSI,OFFSETBUFLOP4:MOVAL,[SI]INCSIMOVBL,[SI]MOVCL,4SALAL,CLADDAL,BLCMPSI,2JALOP5;将高两位压缩的BCD码放入BUF的第一位中LOP6:MOV[SI-1],ALINCSIJMPLOP4;将低两位压缩的BCD码放入BUF的第二位中LOP5:MOV[SI-2],ALLEASI,BUF;将BUF中的数据读出,并进行16进制到10进制的转化LP2:MOVCX,5MOVBX,10MOVAH,[SI]MOVAL,[SI+1]PushAXMOVDI,OFFSETRESULT+4LP3:XORDX,DXDIVBXORDL,30HMOV[DI],DLDECDILOOPLP3POPAXADDAX,3030HMOVAH,9MOVDX,OFFSETmess2int21hLEADX,RESULTINT21HJMPR_KEY;返回dos界面EXIT:MOVAH,4CHINT21HCODEENDSENDSTART运用文本编辑器编辑实验源程序(EXP2_2.asm);在IDE操作环境下,对源程序(EXP2_2.asm)进行编译和连接,生成生成链接文件(EXP2_1.obj)和可执行文件(EXP2_2.exe);运行IDE操作环境下的调试命令,调试可执行文件(EXP2_2.exe);运行IDE操作环境下的执行命令,运行可执行文件(EXP2_2.exe)结果说明:输入16进制数:1234ABCDBCDFes输出十进制结果:046604398148351error!!!实验结果【是/否】符合实验程序设计要求。确实符合实验设计要求实验总结实验过程中所涉及的主要操作:仔细认真看老师给的代码,对代码进行分析、标记注释。有很多自己不熟悉的指令,通过查找书,理解了代码的含义及功能。并补充完整老师给的代码,通过TPC调试,在不断修改的过程中,通过了编译。完成了第一小题。因为第二小题是在第一小题输入一位16进制的基础上,输入四位16进制。所以需要分析两者的区别。通过书上例题以及请教同学,了解到四位16进制转换为10进制需要用到移位的操作。在不断修改、完善程序的过程中,终于通过了编译。实验过程中出现的主要问题进行分析并给出解决方案说明:在实验中,不知道如何将ASCII码转换成字符,需要根据用户输入的不同范围的数据分别将ASCII值减去57H,37H和30H。执行时,结果和输入数据中间没有间隔,不方便观察,在请教同学之后得到了解决。对比设计要求,对实验结果及完成情况进行说明:第一个实验符合实验设计要求,对16进制数进行转换为10进制数进行输出。并且在用户输入无关字符时候能无视。第二个实验符合实验设计要求,对用户输入的4位16进制数进行转换。并且在用户输入无效字符时报错。实验后的体会、感想和建议:通过这次实验,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玉溪市2027年高考仿真模拟物理试卷(含答案解析)
- 2027届湖南省永州市高三考前热身物理试卷(含答案解析)
- 2026年办公用品管控二季度工作总结
- 工厂流水线生产主管2026年上半年流水线产能优化总结
- 暑假交通安全事故警示科普课件
- 2026 年新学期:高中开学第一课理性思考辨别信息
- 中医养生四季养生知识
- 自闭症康复训练讲解
- 肾结石的微创治疗
- 粉尘涉爆企业安全生产执法检查重点事项解读课件
- 辽宁金融控股集团有限公司招聘笔试题库2026
- 机械设备安装工岗位技能培训教材
- 肺部健康防护指南
- JJF 2376-2026 智能网联汽车自动泊车性能 计量测试规范
- 《聚氨酯基透水路面技术规程》DBJ41-T150-2015
- 2025年洛阳市公安机关招聘辅警人员笔试真题
- APQP与PPAP培训课件教学课件
- 内部合伙人制度及股权激励方案(珍藏版)
- 视频监控设备测试方案
- 酒店合伙退股协议书
- DBJ33-T 1077-2025 建筑装饰装修工程质量评价标准
评论
0/150
提交评论