[問題] 條件迴圈指令的疑問
.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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):