读书人

一个简单程序的有关问题

发布时间: 2012-03-26 15:46:56 作者: rapoo

一个简单程序的问题
程序是这样:输入10个数,存储在数组里,然后输出。
我写的程序:
INCLUDE Irvine32.inc
.data
IntegerCount=10
prompt1 BYTE "Enter a signed integer: ",0
str1 BYTE "Output integer: ",0
array DWORD IntegerCount DUP(?)

.code
main PROC
call InputInt
call OutputInt
call Waitmsg
exit
main ENDP

InputInt PROC

mov edx,OFFSET prompt1
mov ecx,IntegerCount
mov esi,OFFSET array
L1:call WriteString
call ReadInt
mov [esi],eax
add esi,4
loop L1
ret
InputInt ENDP

OutputInt PROC

mov ecx,IntegerCount
mov edx,OFFSET str1
mov esi,OFFSET array
call WriteString
L2:mov eax,[esi]
call WriteInt
add esi,4
loop L2
ret
OutputInt ENDP
END main


问题是最后输出的数中间都带有+号,如2+6+8...
请问怎样才能去掉这些加号?

[解决办法]
写一个过滤器子过程,或者直接改写输出例程。
[解决办法]
WriteInt 输出的是有符号数,或者你可以用WriteDec

读书人网 >汇编语言

热点推荐