下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言程序设计-实验报告当输入为3和4时,输出为`3+4=7`。多次测试不同组合(包括结果为一位数和两位数的情况),均能正确显示运算结果。(二)结果分析1.输入处理:通过INT21H的1号功能成功获取用户输入的ASCII字符,并通过减去30H的方式正确转换为对应的二进制数值,存储在NUM1和NUM2变量中。2.运算过程:ADD指令正确执行了两个8位无符号数的加法,结果存储在RESULT变量中。3.输出处理:*对于输入的数字,通过加上30H转换回ASCII码进行显示。*对于运算结果,通过DIVBL(BL=10)将结果分解为十位(AL)和个位(AH)。当十位为非零时,先显示十位,再显示个位;当十位为零时,直接显示个位,避免了前导零的出现。4.中断调用:熟练运用了INT21H的1号(输入)、2号(单字符输出)、9号(字符串输出)和4CH号(程序结束)功能,实现了与用户的交互和程序的控制流。七、实验总结与体会本次汇编语言实验,从理论到实践,让我对汇编语言有了更为直观和深刻的认识。最初面对指令和寄存器时,确实感到有些抽象和繁琐,但通过一步步地编写、调试,逐渐理解了其工作原理。首先,我深刻体会到汇编语言与硬件的紧密联系。每一条指令都直接对应着CPU的操作,对寄存器的操作需要非常小心,任何一个小小的失误(比如忘记初始化段寄存器,或者对寄存器的不当使用)都可能导致程序运行出错甚至崩溃。这与高级语言提供的封装和保护机制有很大不同,也让我更加敬畏底层编程。其次,中断调用是DOS环境下汇编程序与外部设备交互的重要方式。本次实验重点使用了INT21H的几个常用功能,理解了如何通过设置AH寄存器的值来选择不同的功能,并通过DX等寄存器传递参数。这种方式虽然原始,但也展现了系统调用的基本思想。在处理运算结果显示时,如何将一个字节的二进制数(0-18,因为两个一位数相加最大为9+9=18)转换为对应的ASCII字符串并正确显示,是一个小小的挑战。通过除法分解十位和个位,并进行条件判断,最终解决了问题,这个过程锻炼了逻辑思维和问题解决能力。调试过程是本次实验中另一个重要的环节。DEBUG工具虽然界面简陋,但功能强大,通过单步执行(T命令)、查看寄存器(R命令)和内存(D命令),能够有效地定位程序中的错误。很多时候,看似正确的代码,在实际运行时会因为寄存器状态、内存数据等问题而表现出意想不到的行为,调试工具帮助我洞察了这些“黑箱”内部的情况。总而言之,本次实验不仅巩固了课堂上学到的汇编语言知识,更重要的是培养了动手能力和解决实际问题的能力。它让我认识到,汇编语言虽然学习曲线较陡,但其在理解计算机工作原理、进行底层优化等方面具有不可替代的作用。这次经历为后续更深入的计算机系统学习打下了坚实的基础。八、思考题1.如果希望程序能够处理两位数的输入(0-99),程序需要做哪些主要修改?*答:需要修改输入处理部分,允许多次输入字符(如最多两位),并将其组合成一个两位数的数值(例如,输入'1'和'2',应转换为12)。这涉及到循环接收字符、判断输入是否为数字、以及将多位ASCII字符转换为数值的算法(如:先接收的高位数字乘以10再加上后接收的低位数字)。2.在本实验中,若输入的不是数字字符(如字母或符号),程序会出现什么问题?如何改进程序以增加对非法输入的判断和处理?*答:若输入非数字字符,SUBAL,30H后得到的数值将不在0-9范围内,可能导致后续运算结果错误或显示异常。改进方法:在接收输入后,检查AL中的ASCII码是否在'0'(30H)到'9'(39
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小草说课稿2025学年初中音乐湘艺版2024七年级上册-湘艺版2024
- 2026年药学岗前培训测试题及答案
- 2026年销售推理能力测试题及答案
- 2026年复数综合测试题及答案
- 2026年光纤光学测试题及答案
- 2026年有关色彩的测试题及答案
- 2026年基因敲除测试题及答案
- 小学2025珍惜时间不浪费说课稿
- 高中自我认知2025年说课稿
- 气管吸痰的注意事项
- KDIGO慢性肾脏病贫血管理临床实践指南(2026年)解读课件
- 化工废气治理课件
- 2025年7月陕西省普通高中学业水平合格性考试语文试题及答案
- 慢走丝合伙合同范本
- 高压电工证1500题模拟考试练习题-图文
- 商业租赁知识培训
- 修眉毛课件教学课件
- 实施指南(2025)《JB-T2599-2012铅酸蓄电池名称、型号编制与命名办法》
- 小学生脊柱健康知识讲座
- 2026年新高考数学专题复习 103.马尔科夫链讲义
- 2026届安徽省合肥市45中学中考语文全真模拟试题含解析
评论
0/150
提交评论