[問題] 條件迴圈指令的疑問

看板ASM (組合語言)作者 (56好棒)時間15年前 (2010/05/10 11:42), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/2 (看更多)
.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

05/10 13:38, , 1F
你整個判斷式結構很怪 看你的code只是要找array裡面有沒非0
05/10 13:38, 1F

05/10 13:39, , 2F
這樣只要一個cmp而已 後面那cmp是多餘的
05/10 13:39, 2F
文章代碼(AID): #1Bvu32iA (ASM)
討論串 (同標題文章)
文章代碼(AID): #1Bvu32iA (ASM)