版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二:加法及判断程序调试实验实验报告健行理工1402班陈丽红一、实验目的1.掌握编写汇编语言源程序的基本方法和基本框架。2.学会编写顺序结构、分支结构和循环结构的汇编程序,掌握宏定义与宏调用的方法。3.掌握程序中数据的产生与输入输出的方法。二、实验内容1.用汇编语言编写一个加法程序:1325十9839,用ASCII码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果显示输出。2.设有一组数据:5,-4,0,3,100,-51,编程判断:每个数是>0、=0、还是<0?并输出其判断结果。即:三、程序说明3.1实验内容一:(1)两个数据先以相反的顺序以ASCII码的形式存放在数据段的DATA1和DATA2中,相加时从DATA1和DATA2的起始字节开始相加,也就是从数的个位数开始相加。相加后的结果存放在DATA2开始的存储单元中,同时用DL保存进位位。(2)对于本题来说,题目为两个四位数相加,所以定义循环数为4。(3)程序中的加法运算是ASCII码运算,后面应加一条ASCII码加法调整指令AAA,经AAA调整的加法指令,将ASCII码的数据高4位清“0”,因此要将结果每位数高4位拼成3,变成ASCII码存到DATA2(4)一位运算结束后将用于保存进位位的DL复原,进入循环,进行下一位求和计算。(5)由于计算是从个位数相加开始,所以存入DATA2中的数据应当以相反的顺序输出,故再进行一轮循环输出,得到最终的计算结果。3.2实验内容二:(1)一方面将原始数据(5,-4,0,3,100,-51)装入起始地址为VAR的字节存储单元中。(2)将判断结果以字符串的形式分别存放在数据区中,以便在显示输出时调用。(3)判断部分采用CMP指令。从数据区中取出一个数送给AL,之后与0进行比较,得到分支结构,分别输出“Y=0”、“Y=+1”和“Y=-1(4)程序中存在一个循环结构,对于本题,循环次数为6,调用6次分支结构后结束。四、程序总框图4.1实验内容一程序框图4.2实验内容二程序框图五、源程序清单与执行结果5.1实验内容一:5.1.1程序源代码DATASEGMENT;定义数据段,DATA为段名,将两个数据用相反顺序以ASCII码的DATA1DB'5231'形式存放在DATA1,DATA2中DATA2DB'9389'DATAENDSCODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX LEASI,DATA1;将DATA1的偏移地址给SI LEADI,DATA2;将DATA2的偏移地址给DIﻩMOVCX,4;定义循环数CX为4 MOVAH,00H;初始化AH,DL MOVDL,00HNEXT:MOVBL,[SI] MOVAL,[DI] ADDAL,DL;将进位位与AL中的数相加后存储到ALﻩADDAL,BL;将AL,BL相加ﻩAAA;AAA调整 ADDAL,30H;将结果每位数高4位拼成3,变成ASCII码ﻩMOV[DI],AL;将ASCII码存在DATA2ﻩMOVDL,AH;DL用于存储进位位ﻩINCSI;将SI,DI加1ﻩINCDI MOVAH,00H;将进位位复原置0 LOOPNEXT;循环,进行下一位的计算求和 MOVAH,DL;该部分代码用于保存最后一个进位位ﻩADDAH,30HﻩMOV[DI],AH MOVCX,5NEXT1:MOVAH,02H;之前的代码输出结果顺序为相反的,通过再一次的循环输出得到计ﻩMOVBL,[DI]结果 MOVDL,BL INT21HﻩDECDI;DI减1 LOOPNEXT1 MOVAH,4CH INT21HCODEENDSENDSTART5.1.2实验结果截图5.2实验内容二:5.2.1程序源代码DATASEGMENT;定义数据段VARDB5,-4,0,3,100,-51D1DB'Y=+1',0DH,0AH,'$';以字符串形式存储D2DB'Y=0',0DH,0AH,'$'D3DB'Y=-1',0DH,0AH,'$'DATAENDSCODESEGMENT;定义代码段ASSUMECS:CODE,DS:CODESTART:MOVAX,DATAMOVDS,AX;给DS段赋值 MOVAX,00H;初始化AX置0 MOVCX,6;定义循环数CX为6 LEADI,VAR;将VAR的开始地址给DINEXT1:MOVAL,[DI] CMPAL,0;将DI指向的数与0进行比较ﻩJGENEXT2;当AL>=0时跳转至NEXT2ﻩMOVDX,OFFSETD3;将D3的偏移值送给DXﻩJMPOPTNEXT2:JENEXT3;AL=0时跳转至NEXT3MOVDX,OFFSETD1;将D1的偏移值送给DX JMPOPTNEXT3:MOVDX,OFFSETD2;将D2的偏移值送给DXJMPOPTOPT:MOVAH,09H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度园林景观规划合同
- 运动鞋市场发展现状调查及供需格局分析预测报告
- 2024年度物流仓储租赁合同
- 软式网球项目评价分析报告
- 2024年度北京市个人汽车租借合同
- 2024年度山地区域水土保持合同:生态环境改善与保护
- 2024年度办公室租赁装修合同
- 红酒盛酒瓶市场发展现状调查及供需格局分析预测报告
- 2024年度农资连锁经营合同
- 2024年度乙状乙方网络安全服务合同
- 水文信息采集与处理习题
- 2010国际贸易术语解释通则(中文完整版)
- 星级酒店服务技能大赛活动方案
- 义务教育《道德与法治》课程标准(2022年版)
- 中职数学认识多面体与旋转体(课堂PPT)
- 宇视编解码器产品讲解
- 钛合金项目效益分析报告(模板范本)
- 城市燃气工程监理实施细则
- HydrolabBasic广东水文水利计算软件使用手册
- 三级公共营养师实操复习题
- 淀粉的液化技术(完整版)
评论
0/150
提交评论