【发布时间】:2014-04-14 01:20:24
【问题描述】:
我有一个对数组的正数求和的程序...但是我在打印结果时遇到了问题。在我的程序中,结果是 37,但是当我执行它时,它会打印一个 %,它相当于十进制的 37,或 25h... 我只希望它打印 37.. 这是我的代码:
DATOS SEGMENT ;
ARRAY DB -1,-2,3,4,5,-6,7,8,-9,10 ;SUMA=37
COUNTER DW 10
DATOS ENDS
SEGSTACK SEGMENT STACK
DW 256 DUP (?)
SEGSTACK ENDS
CODIGO SEGMENT
SUMA PROC FAR
ASSUME CS:CODIGO, DS:DATOS, SS:SEGSTACK
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DATOS
MOV DS, AX
MOV AL, 00H
MOV SI, 00H
MOV CX, COUNTER
TAE: CMP ARRAY[SI],00H
JL MAO
ADD AL,ARRAY[SI]
MAO: INC SI
LOOP TAE
;////////////// P R I N T I N G
mov DL,AL
mov ah,02h
int 21h
;//////////////
RET
SUMA ENDP
CODIGO ENDS
END SUMA
【问题讨论】:
-
需要转成字符串。这方面的例子有很多,显示一些努力。
-
要从单个十进制值中获取组合的单个十进制值,请记住我们使用以十为底的系统。