微机原理实验报告 下载本文

内容发布更新时间 : 2024/12/25 13:54:57星期一 下面是文章的全部内容请认真阅读。

微机原理 实验报告

学校:湖北文理学院、 班级:电子1413 姓名:杨仕浩 学号:2014111347 指导老师:吉向东

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

一、实验目的

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

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

二、实验内容

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

三、程序框图

四、实验程序清单

DATA DATA1 DATA1END DATA2 DATA2END SUM DATA

STACK STA

SEGMENT

DB 33H,39H,31H,37H,34H;被加数 EQU $-1

DB 34H,35H,30H,38H,32H;加数 EQU $-1 DB 5 DUP(?) ENDS

SEGMENT

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 DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H

ADDA PROC NEAR

MOV DX,SI MOV BP,DI MOV BX,05H

AD1: SUB BYTE PTR [SI],30H

SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC

AD2: MOV AL,[SI]

MOV BL,[DI] ADC AL,BL AAA MOV [SI],AL DEC SI DEC DI LOOP AD2 MOV SI,DX MOV DI,BP MOV BX,05H

AD3: ADD BYTE PTR [SI],30H

ADD BYTE PTR [DI],30H DEC SI