8086汇编语言:顺序加法与逻辑运算实战
需积分: 3 36 浏览量
更新于2024-07-30
收藏 99KB DOC 举报
本篇文档是关于汇编语言程序设计实习的第10个实验,主要涉及顺序程序设计,具体任务是让学习者编写一个程序来实现两个多位十进制数的相加。实验目标包括理解数据传送和算术运算指令的使用,以及掌握在PC机上进行汇编语言程序设计的基本流程,包括编写、汇编、链接、调试和运行。
实验的核心内容是编写一个名为`MAINPROCFAR`的程序,它首先通过`MOV AX, DATA`和`MOV DS, AX`指令加载数据段地址到AX寄存器和DS段寄存器,然后定义两个数据区`DATA1`和`DATA2`,存储待相加的十进制数,其中每个数由5个ASCII码组成,低位在前。
程序中,使用`LEASI`指令获取数据区的地址,并调用`DISPLAY`子程序来显示这两个数。接着,通过循环结构`ADDS`执行加法运算。每一轮循环,将加数送入AL寄存器,从被加数中取出一位,进行加法运算并处理进位。如果结果大于等于10,则执行`SUBA`,否则跳过。在`SUBA`中,将进位后的结果减去10,并根据进位标志(CF)设置结果的高位。最终,将加法结果存储回`DATA1`。
程序还包括异常处理,如检查是否需要向高位添加1(通过检查CF),并使用`JNC`或`JNS`来决定是继续循环还是跳转到其他分支。整个过程结束后,会有一个判断,根据标志位确定是否需要设置结果的最高位(通过`SHUCHU`或`SHUCHU2`)。
这个实验让学生熟悉了基本的汇编指令操作,同时也锻炼了他们对程序流程控制的理解,以及调试和优化程序的能力。通过实际操作,学生能够加深对汇编语言编程的理解,提高动手能力,为后续深入学习计算机科学打下坚实的基础。
2010-10-26 上传
2021-05-06 上传
2010-06-16 上传
点击了解资源详情
2012-05-23 上传
2022-06-20 上传
2009-10-10 上传
2021-12-17 上传
kanglong2008
- 粉丝: 0
- 资源: 1
最新资源
- FACTORADIC:获得一个数字的阶乘基数表示。-matlab开发
- APIPlatform:API接口平台主页接口调用网站原始码(含数十项接口)
- morf源代码.zip
- 参考资料-附件2 盖洛普Q12 员工敬业度调查(优秀经理与敬业员工).zip
- MyJobs:Yanhui Wang 使用 itemMirror 和 Dropbox 管理作业的 SPA
- SiFUtilities
- PrivateSchoolManagementApplication:与db连接的控制台应用程序
- python-sdk:MercadoLibre的Python SDK
- Docket-App:笔记本Web应用程序
- Crawler-Parallel:C语言并行爬虫(epoll),爬取服务器的16W个有效网页,通过爬取页面源代码进行确定性自动机匹配和布隆过滤器去重,对链接编号并写入url.txt文件,并通过中间文件和三叉树去除掉状态码非200的链接关系,将正确的链接关系继续写入url.txt
- plotgantt:从 Matlab 结构绘制甘特图。-matlab开发
- 【精品推荐】智慧体育馆大数据智慧体育馆信息化解决方案汇总共5份.zip
- tsu津
- houdini-samples:各种Houdini API的演示
- parser-py:Python的子孙后代工具
- proton:Vue.js的无渲染UI组件的集合