全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及接口技术实验报告 题目:加法程序 学院:信息工程学院 班级:信息0802 姓名:焦全军 学号:2008001222 一实验目的学习并掌握数据传送和算术运算指令的用法。编写多位十进制数相加程序。二实验内容图2.1 十进制数相加程序流程图将两个多位十进制数28056,47193相加,并在屏幕上显示加数、被加数、和。要求两个操作数均以ASCII码形式各自顺序存放在DATA1和DATA2内存单元中,并将结果送回DATA1处(低位在前,高位在后)。三程序流程图程序流程如图2.1所示。两操作数在内存中存放的情况如图2.2所示。33H39H31H37H34H36H35H30H38H32H存储器DATA1DATA1图2.2 数据在内存中的存放情况四、实验步骤(1)进入DOS环境,如果计算机操作系统是在DOS环境下,则直接进入下一步即可。如果计算机操作系统是在Windows环境下,则打开“开始”菜单,选“运行”项,在“打开”栏中输入“CMD”,点击“确定”按钮,进入DOS环境;(2)将设计好的汇编语言程序用编辑器编辑;EDIT *. ASM ,其中* 号代表程序名,为任意18个字符,扩展名 ASM不可缺省。进入编辑状态,输入汇编语言源程序,完成后,同时按“Alt+F”按钮,打开文件菜单,选择“Save”选项存盘,随后,选择“Exit”选项,退出编辑状态;(3)对源程序进行汇编链接;(4)执行并调试可执行文件。进入DOS全屏模式,运行可执行文件*EXE,调试器运行和调试可执行文件*EXE。五、参考程序SHOWMACROB ;宏定义 MOVDL, B;B为要显示字符的ASCII码MOV AH, 02HINT 21H;2号功能调用,在屏幕上显示一个字符ENDMDATA SEGMENT;数据段DATA1DB 33H,39H,31H,37H,34H ;被加数47193的ASCII码(倒序存放)DATA2DB 36H,35H,30H,38H,32H;加数28056的ASCII码(倒序存放)DATA3 DB ,0DH,0AH,$ DATA ENDSSTACKSEGMENT STACK;堆栈段STADB 20 DUP (?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENT ;代码段 ASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOV AX,DATA;初始化,取段基址 MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV SI,OFFSET DATA2;取DATA2(加数)的偏移地址 MOV BX,05;设置地址指针,BX=5 (加数为5位) SHOW 20H;宏调用,显示“空格”(ASCII码为20H) CALL DISPL;调显示子程序 SHOW0DH;宏调用,“回车” SHOW 0AH;宏调用,“换行” MOV SI,OFFSET DATA1;取DATA1(被加数)的偏移地址 MOV BX,05;设置地址指针,BX=5 (被加数为5位) SHOW 2BH;宏调用,显示“+”(ASCII码为2BH) CALL DISPL;调显示子程序 SHOW0DH;宏调用,“回车” SHOW0AH;宏调用,“换行” MOVCL,7;CL=7,显示7个“-”,构成直线S1: SHOW 2DH;宏调用,显示“-”(ASCII码为2DH) LOOP S1;CX-1CX,CX0,转到标号S1SHOW 0DH SHOW 0AH MOV SI,OFFSET DATA1;取DATA1(被加数)的偏移地址MOV DI,OFFSET DATA2;取DATA2(加数)的偏移地址 CALL ADDA ;调加法程序 MOV SI,OFFSET DATA1;取DATA1的偏移地址,显示两数之和 SHOW 20H MOV BX,05;BX=5,设置地址指针 CALL DISPL;调显示子程序 MOV AX,4C00H;返回DOS INT 21HDISPL PROC NEAR ;显示子程序 DS1: SHOWSI+BX-1;宏调用,倒序显示数据 DEC BX ;BXBX1 JNZ DS1;BX0,转到标号DS1,继续显示数据 RETDISPL ENDPADDA PROC NEAR;加法子程序 MOV DX,SI;DATA1的偏移地址传送给DX MOV BP,DI ;DATA2的偏移地址传送给BP MOV BX,05;BX=5,设置地址指针AD1: SUB BYTE PTR SI+BX-1,30H;将ASCII码转化为十六进制数,并存入DATA1 SUB BYTE PTR DI+BX-1,30H;将ASCII码转化为十六进制数,并存入DATA2 DEC BX ;BXBX1 JNZ AD1;BX0,转到标号AD1,继续转换 MOV SI,DX;SIDATA1的偏移地址 MOV DI,BP;DIDATA2的偏移地址 MOV CX,05 ;CX=5,设置计数常数 CLC;清除进位表示,CF=0 AD2: MOV AL,SI ;ALDATA1中的低位数 MOV BL,DI;BLDATA1中的低位数 ADC AL,BL;带进位相加 AAA ;十进制调整 MOV SI,AL ;将结果保存到DATA1中 INC SI;指向下一位 INC DI LOOP AD2 ;CX-1CX,CX0,转到标号AD2,继续加法 MOV SI,DX;SIDATA1的偏移地址 MOV DI,BP;DIDATA2的偏移地址 MOV BX,05;BX=5,设置地址指针AD3: ADD BYTE PTR SI+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据结构与算法(C语言版)第2版上
- 机动车辆保险营销体制的探讨
- 2026年道路客运汽车驾驶员职业技能等级认定(三级)操作技能模拟试题
- 桥梁工程绪论教学课件
- 病理生理学课件凋亡
- (2026版)小学开展近视防控宣传月活动总结
- (2026版)医疗机构新生儿安全管理制度
- 全科医生健康教育工作方案
- 全科医生慢性病管理实施方案
- 全科医生岗位胜任力培训方案
- 2026年新教材人教版九年级上册英语期中复习:Unit 1-4+期中5套测试卷汇编(含答案)
- 河北省邯郸市2025-2026学年高一上学期期中联考语文试题及答案
- ESC 2026新版心力衰竭管理指南精读
- 2026智联招聘笔试题库及答案
- 2026版《药物临床试验质量管理规范》GCP考试题库(含标准答案+解析)
- EDA技术及应用项目教程 教学大纲
- 中医护理评估
- 2025年度中国展览数据统计报告
- 2026年中考作文押题指导
- 泌尿外科副主任医师述职报告
- T/CCMA 0160-2023非公路洒水车
评论
0/150
提交评论