两个多位十进制数相加的实验
更新时间:2023-09-30 00:06:01 阅读量: 综合文库 文档下载
学生实验报告
( 2010 —2011 学年第 2 学期 )
课程名称:微机原理与接口技术 开课实验室:205教室 2011年5 月10日 年级、专业、班 电信091 学号 20091602姓名 XXX 成绩 2XXX 实验项目名称 两个多位十进制数相加的实验 指导教师 教 师 评 语 教师签名: 年 月 日
一. 实验目的
1. 学习数据传送和算术运算指令的用法。
2..熟悉在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程。
二、实验原理及基本技术路线图或实验内容(方框原理图或程序流程图)
1、实验内容
将两个多位十进制数相加。要求被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
显示被加数和加数 被加数和加数以ASCII码表示的数字串形 式转化为由十六进制表示的数字串形式 计数值5→CX 清除最低位进位 执行ADC带进位相加 AAA调整 结果送被加数区 调整偏移量 N CX-1=0? Y 十六进制的结果转化为ASCII码表示的数字串 显示结果 结束 三、所用仪器、材料和软件(设备和软件名称、型号、规格等) 所用的软件为Masm for windows集成实验环境2009 四、实验方法、步骤
1、编写程序代码
2、运行程序,修改错误代码 3、再次运行代码直至运行出正确结果
五、源码程序编制及分析注释
CRLF MACRO ; 宏定义指令(回车执行程序) MOV DL,0DH ; 回车
MOV AH,02H ; 2号调用,显示回车 INT 21H
MOV DL,0AH ;换行
MOV AH,02H ;2号调用换行 INT 21H
ENDM DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H 47193
DATA2 DB 28056
DATA ENDS STACK SEGMENT STA DB 20 DUP(?) 作为堆栈使用
TOP EQU LENGTH STA STACK ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA
MOV DS,AX MOV AX,STACK
MOV SS,AX MOV AX,TOP MOV SP,AX
MOV SI,OFFSET DATA2 MOV BX,05 ;宏指令定义结束 ;数据段定义
;第一个数据(作为加数)36H,35H,30H,38H,32H ;第二个数据(作为被加数);数据段定义结束 ;堆栈段定义
;定义从STA开始20个单元;TOP等于堆栈单元数 ;代码段定义 ;设置数据段 ;设置堆栈段 ;DATA2的偏移地址送SI ; 计数次数为5次
CALL DISPL ;调用多次显示子程序DISPL(显示28056)
CRLF ;回车换行
MOV SI,OFFSET DATA1 ;DATA1的偏移地址送SI MOV BX,05 ;计数次数为5次 CALL DISPL ;调用多次显示子程序DISPL(显示47193)
CRLF MOV DI,OFFSET DATA2
CALL ADDA MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL CRLF MOV AX,4C00H INT 21H
DISPL PROC NEAR DS1: MOV AH,02 MOV DL,[SI+BX-1] INT 21H DEC BX JNZ DS1 行指令
RET DISPL ENDP ADDA PROC NEAR 性为NEAR
MOV DX,SI MOV BP,DI
;回车换行 ;使用加法运算程序 ; 将和显示在屏幕上 ;显示结束
;调用多次显示子程序DISPL ;执行回车换行程序 ;返回系统提示符 ;多次显示子程序 ;显示功能号
;显示字符串中一字符 ; DOS的中断调用 ;BX减1,修改偏移量 ;如果BX未减到零跳到DSL执;返回
;完成显示功能子程序定义 ;实行加法运算子程序定义、属 MOV BX,05 ;转换5次 AD1: SUB BYTE PTR [SI+BX-1],30H ;把加数的ASCLL转换为16进制
SUB BYTE PTR [DI+BX-1],30H ;把被加数的ASCLL转换为16进制
DEC BX ;修改偏移量 JNZ AD1 MOV SI,DX MOV DI,BP
MOV CX,05 CLC AD2: MOV AL,[SI] MOV BL,[DI]
ADC AL,BL AAA 整
MOV [SI],AL INC SI
INC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05
AD3: ADD BYTE PTR [SI+BX-1],30H ADD BYTE PTR [DI+BX-1],30H
DEC BX JNZ AD3 RET
ADDA ENDP ;包括进位,共5位 ;清进位 ;进行代进位加法 ;非组合BCD码的加法调;结果送被加数区 ;指向下一位 ;循环 ;十六进制的数字串转化 ;加法程序结束
CODE ENDS ;代码段结束 END START ;整个程序结束
六、实验结果、分析和结论和体会
1.实验结果:
2.心得体会
初学《微机原理》时,感觉摸不着头绪概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口。课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。
七、教师必须按照上述各项内容严格要求,认真批改和评定学生成绩。
正在阅读:
两个多位十进制数相加的实验09-30
高中地理中国的农业课堂练习及答案03-20
2018版高中语文中国文化经典研读学案(21份) 人教课标版503-09
施工组织设计文字说明wangyo27002008449323316796 - 图文05-20
新人教版英语八年级下册学案10doc06-26
寝室文化节策划改201006-12
Tutorial 3 Matlab M文件编辑调试器的使用02-03
互联网金融商业计划书01-14
社会保障概论(李珍)要点整理10-25
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 十进制
- 相加
- 两个
- 实验
- 某物流基地建设项目可行性研究报告 - 图文
- 2015新北师大数学三年级下册期末复习计划和练习题
- 经典的制氢培训教材(原理、运行、维护、安全)
- 福建省住院医师规范化公共科目考试,循证医学考试历年题目
- 中国奢侈品消费市场调研分析
- 资产评估名词解释
- 贝塞尔函数的有关公式
- 2010年北京四区东西海朝语文一模汇编 - 图文
- 基于中国一东盟博览会背景下南宁市旅游业发展对策研究要点
- 《SQL数据库管理与开发》试题(M卷)
- 儿童诗歌感想
- CButtonST从VC6移植到VS2008
- 财务管理2011.10练习题
- 胶原蛋白小常识
- 高校视频公开课建设及其思考
- 扬州大学社会发展学院2019年硕士研究生复试成绩 - 图文
- 炼铁厂安全生产事故应急预案
- 扬州市优质工程奖“琼花杯”评选办法
- (外研版新)2013-2014七年级上册英语期末复习综合
- 会计学原理复习题