两个多位十进制数相加的实验.docVIP

  • 12
  • 0
  • 约4.35千字
  • 约 6页
  • 2020-04-12 发布于浙江
  • 举报
PAGE 学生实验报告 ( 2010 — 学年第 学期 ) 课程名称:微型计算机原理与接口技术 开课实验室: 2011年 月 日 年级、专业、班 学号 姓名 成绩 实验项目名称 两个多位十进制数相加的实验 指导教师 教师评语 教师签名: 年 月 日 注:报告内容按实验须知中几点要求进行。 一、实验目的 1、学习数据传送和算术运算指令的用法。 2、熟悉在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程。 3、学会PC机得安装 4、认识编程过程 二、实验原理及基本技术路线图或实验内容(方框原理图或程序流程图) 将两个多位十进制数相加。要求被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 程序框图 三、所用软件 四、实验步骤 整个程序分为4个部分:显示加数、转换、相加、输出结果。 五、源码程序编制及分析注释 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 36H,35H,30H,38H,32H ; 第二个数据(作为被加数)28056 DATA ENDS ;数据段定义结束 STACK SEGMENT ; 堆栈段定义 STA DB 20 DUP(?) ;定义从STA开始20个单元作为堆栈使用 TOP EQU LENGTH STA ;TOP等于堆栈单元数 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 ;DATA2的偏移地址送SI MOV BX,05 ; 计数次数为5次 CALL DISPL ; 调用多次显示子程序DISPL(显示28056) CRLF ;回车换行 MOV SI,OFFSET DATA1 ; DATA1的偏移地址送SI MOV BX,05 ; 计数次数为5次 CALL DISPL

文档评论(0)

1亿VIP精品文档

相关文档