概述
文档介绍:
本科微型计算机原理及应用实验报告
课程名称: 微型计算机原理及应用
实验名称: 多位十进制数相加程序
实验地点: 微机原理实验室
实验一多位十进制数相加程序
实验目的
学****数据传送和算术运算指令的用法
实验内容
将两个多位十进制数28056、47193相加,并显示加数、被加数、和。要求两个加数均以ASCII码形式各自顺序存放在DATA1和DATA2内存单元中,结果送回DATA1处(低位在前,高位在后)
三、 程序流程图
开始
显示加数和被加数
加数和被加数由ASCⅡ码表示转化为十六进制
计数值5-->CX
清除最低位进位
执行ADC带进位相加
AAA调整
调整偏移量
显示加数和被加数
CX-1=0
N
将十六进制结果转化为ASCⅡ码表示的数字
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
MOV DI,BP
MOV CX,05
CLC
AD2: MOV AL,[SI]
MOV BL,[DI]
ADC AL,BL
内容来自淘豆网www.taodocs.com转载请标明出处.
最后
以上就是孝顺蚂蚁为你收集整理的太原理工大学 微型计算机实验,太原理工大学 微机原理 实验一 多位十进制数相加程序.doc...的全部内容,希望文章能够帮你解决太原理工大学 微型计算机实验,太原理工大学 微机原理 实验一 多位十进制数相加程序.doc...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复