微机原理实验指导书(2012) 下载本文

内容发布更新时间 : 2024/6/5 8:35:17星期一 下面是文章的全部内容请认真阅读。

微机原理及程序设计

实验指导书

信息工程与自动化学院

自动化系 2012年9月

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

0

一、 实验目的

1、学习数据传送和算术运算指令的用法。

2、熟悉在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程。

二、 实验内容

将两个多位十进制数相加。要求被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。

三、 程序框图

显示被加数和加数

被加数和加数以ASCII码表示的数字串形 式转化为由十六进制表示的数字串形式 计数值5→CX 清除最低位进位 执行ADC带进位相加 AAA调整 结果送被加数区 调整偏移量 N CX-1=0? Y 十六进制的结果转化为ASCII码表示的数字串 显示结果 结束

四、 程序清单

1

CRLF MACRO

MOV DL,0DH

MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H INT 21H ENDM

DATA SEGMENT

DATA1 DB 33H,39H,31H,37H,34H DATA2 DB 36H,35H,30H,38H,32H 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 CALL DISPL CRLF

MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL 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]

2