作者jimmy5566 (56好棒)
看板ASM
标题[问题] 条件回圈指令的疑问
时间Mon May 10 11:42:56 2010
.data
array SWORD 0,0,1,0,10,30,0,4
sentinel SWORD 0h
str1 BYTE"Nonzero data not found!",0Dh,0Ah,0
str2 BYTE"Nonzero data found!",0Dh,0Ah,0
.code
main PROC
mov esi,OFFSET array
mov ecx,LENGTHOF array
L1:
cmp WORD PTR [esi],0
pushfd
add esi,TYPE array
popfd
loopz L1
jz quit
sub esi,TYPE array
quit:
cmp WORD PTR[esi],0h
jz L2
mov edx,OFFSET str2
jmp L3
L2:
mov edx,OFFSET str1
L3:
call WriteString
exit
main ENDP
END main
以上的执行结果会出现Nonzero data found!
如果希望能显示出阵列"第一个不为0的整数是1"
那要在这段程式中加上什麽程式码呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.143.26.146
1F:→ eentut:你整个判断式结构很怪 看你的code只是要找array里面有没非0 05/10 13:38
2F:→ eentut:这样只要一个cmp而已 後面那cmp是多余的 05/10 13:39