太原理工大学 微型计算机实验,太原理工大学 微机原理 实验一 多位十进制数相加程序.doc...

这篇实验报告详细介绍了如何使用汇编语言编写一个程序,实现两个多位十进制数(28056和47193)的ASCII码形式相加。程序首先将数据存储在内存的DATA1和DATA2段,然后通过数据传送和算术运算指令进行相加操作,最终结果显示在DATA1内存单元中,低位在前,高位在后。实验过程包括程序流程设计、数据处理和结果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

太原理工大学 微机原理 实验一 多位十进制数相加程序

本科微型计算机原理及应用实验报告

课程名称: 微型计算机原理及应用

实验名称: 多位十进制数相加程序

实验地点: 微机原理实验室

实验一 多位十进制数相加程序

实验目的

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

实验内容

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

三、程序流程图

N

Y

实验程序

SHOW MACRO B

MOV DL,B

MOV AH,02H

INT 21H

ENDM

DATA SEGMENT

DATA1 DB 33H,39H,31H,37H,34H

DATA2 DB 36H,35H,30H,38H,32H

DATA3 DB '__',0DH,0AH,'$'

DATA ENDS

STACK SEGMENT STACK

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

SHOW 20H

CALL DISPL

SHOW 0DH

SHOW 0AH

MOV SI,OFFSET DATA1

MOV BX,05

SHOW 2BH

CALL DISPL

SHOW 0DH

SHOW 0AH

MOV CL,7

S1: SHOW 2DH

LOOP S1

SHOW 0DH

SHOW 0AH

MOV SI,OFFSET DATA1

MOV DI,OFFSET DATA2

CALL ADDA

MOV SI,OFFSET DATA1

MOV BX,05

SHOW 20H

CALL DISPL

MOV AX,4C00H

INT 21H

DISPL PROC NEAR

DS1: SHOW [SI+BX-1]

DEC BX

JNZ DS1

RET

DISPL ENDP

ADDA PROC NEAR

MOV DX,SI

MOV BP,DI

MOV BX,05

AD1: SUB BYTE PTR [SI+BX-1],30H

SUB BYTE PTR [DI+BX-1],30H

DEC BX

JNZ AD1

MOV SI,DX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值