内容发布更新时间 : 2024/11/17 14:21:51星期一 下面是文章的全部内容请认真阅读。
微机原理软件实验
实验1 两个多位十进制数相加的实验
实验内容:将两个多位十进制数相加,要求加数和被加数均以ASCII码形式各自顺序存放以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。完整代码如下: DATAS SEGMENT ;此处输入数据段代码
STRING1 DB 'input the first number:','$' STRING2 DB 13,10,'input the second number:','$' STRING3 DB 13,10,'the output is:','$' DATA1 DB 6 DUP(00H),'$' DATA2 DB 6 DUP(00H),'$' DATAS ENDS
STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS
CODES SEGMENT
1
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS MOV DS,AX
;此处输入代码段代码 LEA SI,DATA1 LEA DI,DATA2 L0:
LEA DX,STRING1;打印字符串STRING1 MOV AH,09 INT 21H
INPUT1: ;输入第一个数 MOV AH,01;输入字符至AL中 INT 21H CMP AL,'/' JE L1 MOV [SI],AL INC SI
2
JMP INPUT1 L1:
LEA DX,STRING2;打印字符串STRING2 MOV AH,09 INT 21H
INPUT2: ;输入第二个数 MOV AH,01;输入字符至AL INT 21H CMP AL,'/' JE L2 MOV [DI],AL INC DI JMP INPUT2 L2:
MOV SI,0
CLC;清空进位标志位CF MOV CX,6
3