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

看板Programming作者 (-858993460)時間14年前 (2010/05/10 01:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《jimmy5566 (56好棒)》之銘言: <code 恕刪> : 以上的執行結果會出現Nonzero data found! : 如果希望能顯示出陣列"第一個不為0的整數是1" : 那要在這段程式中加上什麼程式碼呢? 你有 printf 可以用嗎? (就是你能不能連結 C Runtime library) 如果有 那 extern 宣告一下就可以呼叫了 大概就像是 extern C printf: proc .data str2 DB 'Nonzero data %d found!',0dh,0ah,0 .code ;.... movzx eax, WORD PTR [esi] push eax ;總之就是把找到的值推進去 這樣 printf 就找得到 push OFFSET str2 call printf add esp,8 ;printf 要自己清推入的參數 推了兩個所以加8 也就是這裡實際上是相當於在 C 裡寫了 printf("Nonzero data %d found!\n",value); 這樣的感覺 如果沒有 printf 的話...你得自己寫一個數字轉字串出來 (這個不太好寫...) 然後找個空間自己生成你要印的字串 大致上也許是用個 rep movs 把前半段字串搬到 buffer 裡面 然後呼叫你自己寫的數字轉字串 把生成的字串丟進 buffer 再把後半段用 rep movs 搬過去 最後就能印了 -- ˊ_▂▃▄▂_ˋ. ◣          ▅▅ ▅▅ ι●╮   ./◤_▂▃▄▂_◥ \'▊   HARUHI █████ <■┘   ◤◤◥█◥◥█Δ   ISM    By-gamejye ¢|\   ▌▌ζ(▏●‵◥′●)Ψ ▏           █    ⊿Δ    /|▋ |\ ▎         ハルヒ主義      ▄█ ◥◥|◣ ‵′ ◢/'◢◢S.O.S 世界をいに盛り上げるための宮ハルヒの    -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.92
文章代碼(AID): #1BvlD6ro (Programming)
文章代碼(AID): #1BvlD6ro (Programming)