这是小弟编的一道汇编 但是除了问题 实在是没办法了
时间:2010-11-22
来源:互联网
两个多位十进制数相加:将两个多位十进制数(0~9999)相加,加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
DATA SEGMENT
D1 DB 'PLEASE ENTER FIRST NUMBER:',0DH,0AH,'$'
D2 DB 'PLEASE ENTER SECOND NUMBER:',0DH,0AH,'$'
D3 DB 'THE RESULT IS:',0DH,0AH,'$'
DATA1 DB 5 DUP(0)
DATA2 DB 5 DUP(0)
D4 DB 6 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
INPUT1: MOV DX,OFFSET D1
MOV AH,9
INT 21H
MOV CX,6
MOV BX,0FFFFH
LL1: INC BX
MOV AH,1
INT 21H
CMP AL,0DH
JZ L1
MOV [D4+BX],AL
L1: LOOPNZ LL1
MOV CX,BX
DEC BX
LEA DI,DATA1
LL2: LEA AX, [D4+BX]
MOV [DI],AX
MOV BYTE PTR[D4+BX],0H
INC DI
DEC BX
LOOP LL2
INPUT2: MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
LEA DX,D2
MOV AH,9
INT 21H
MOV CX,6
MOV BX,0FFFFH
LL3: INC BX
MOV AH,1
INT 21H
CMP AL,0DH
JZ L2
MOV [D4+BX],AL
L2: LOOPNZ LL3
MOV CX,BX
DEC BX
MOV DI,OFFSET DATA2
LL4: LEA AX, [D4+BX]
MOV [DI],AX
MOV BYTE PTR[D4+BX],0H
INC DI
DEC BX
LOOP LL4
RESULT: MOV DI,OFFSET DATA1
MOV SI,OFFSET DATA2
MOV CX,5
MOV AH,0H
LL5: MOV AL,[DI]
MOV BH,AH
MOV AH,0H
ADD AL,BH
AAA
ADD AL,[SI]
AAA
MOV [DI],AL
INC SI
INC DI
LOOP LL5
OUTPUT: MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
INT 21H
LEA DX,D3
MOV AH,9
INT 21H
LEA SI,[DATA1+5]
MOV CX,5
LL6: DEC SI
CMP BYTE PTR [SI],0H
LOOPZ LL6
MOV CX,SI
SUB CX,OFFSET DATA1
INC CX
LL7: MOV DL,[SI]
ADD DL,30H
MOV AH,2
INT 21H
DEC SI
LOOP LL7
MOV AH,4CH
INT 21H
CODE ENDS
END START
输出的结果总是不对 求高人提供下解决方案啊
DATA SEGMENT
D1 DB 'PLEASE ENTER FIRST NUMBER:',0DH,0AH,'$'
D2 DB 'PLEASE ENTER SECOND NUMBER:',0DH,0AH,'$'
D3 DB 'THE RESULT IS:',0DH,0AH,'$'
DATA1 DB 5 DUP(0)
DATA2 DB 5 DUP(0)
D4 DB 6 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
INPUT1: MOV DX,OFFSET D1
MOV AH,9
INT 21H
MOV CX,6
MOV BX,0FFFFH
LL1: INC BX
MOV AH,1
INT 21H
CMP AL,0DH
JZ L1
MOV [D4+BX],AL
L1: LOOPNZ LL1
MOV CX,BX
DEC BX
LEA DI,DATA1
LL2: LEA AX, [D4+BX]
MOV [DI],AX
MOV BYTE PTR[D4+BX],0H
INC DI
DEC BX
LOOP LL2
INPUT2: MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
LEA DX,D2
MOV AH,9
INT 21H
MOV CX,6
MOV BX,0FFFFH
LL3: INC BX
MOV AH,1
INT 21H
CMP AL,0DH
JZ L2
MOV [D4+BX],AL
L2: LOOPNZ LL3
MOV CX,BX
DEC BX
MOV DI,OFFSET DATA2
LL4: LEA AX, [D4+BX]
MOV [DI],AX
MOV BYTE PTR[D4+BX],0H
INC DI
DEC BX
LOOP LL4
RESULT: MOV DI,OFFSET DATA1
MOV SI,OFFSET DATA2
MOV CX,5
MOV AH,0H
LL5: MOV AL,[DI]
MOV BH,AH
MOV AH,0H
ADD AL,BH
AAA
ADD AL,[SI]
AAA
MOV [DI],AL
INC SI
INC DI
LOOP LL5
OUTPUT: MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
INT 21H
LEA DX,D3
MOV AH,9
INT 21H
LEA SI,[DATA1+5]
MOV CX,5
LL6: DEC SI
CMP BYTE PTR [SI],0H
LOOPZ LL6
MOV CX,SI
SUB CX,OFFSET DATA1
INC CX
LL7: MOV DL,[SI]
ADD DL,30H
MOV AH,2
INT 21H
DEC SI
LOOP LL7
MOV AH,4CH
INT 21H
CODE ENDS
END START
输出的结果总是不对 求高人提供下解决方案啊
作者: bs360 发布时间: 2010-11-22
debug了吗?
作者: masmaster 发布时间: 2010-11-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28