Re: [討論] 關於除法DIV的一些問題

看板ASM作者 (′‧ω‧‵)時間9年前 (2015/03/24 18:33), 9年前編輯推噓1(102)
留言3則, 2人參與, 最新討論串3/3 (看更多)
內文吃掉 : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 118.166.218.13 : → buganini:被除數是EDX:EAX 你是不是寫成EBX:EAX了? 01/09 02:2 : → buganini:或著是EDX沒清掉? 01/09 02:2 : → buganini:應該是EDX沒清.. 01/09 02:3 : → tna612:感謝樓上的解答>< 我在DIV之前加了一個"MOV EDX,0"之後 01/09 13:4 : → tna612:程式就能順利執行了^ ^ 謝謝~ 01/09 13:4 小弟最近在追的code裡面有用到inline assembly in C 所以開始學習ASM要怎麼看 中間遇到了buganini大大所說的EDX沒被清掉的問題 我手動去置換掉 EDX的值, 發現EAX跟EDX的值都會跑掉 EDX 看起來是會加上原本 EDX 的值, 例如我取 123 % 5 正常的case: EAX = 20, EDX = 3. 設定EDX = 0x1, 會得到: EAX = 858993483 EDX = 4 設定EDX = 0x2, 會得到: EAX = 1717986943 EDX = 0 請問中間運作的原理要到哪邊查詢才能知道呢 @@" -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.122.2 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1427193197.A.0BA.html ※ 編輯: uorol (210.61.122.2), 03/24/2015 18:33:39 ※ 編輯: uorol (210.61.122.2), 03/24/2015 18:34:36

03/25 17:29, , 1F
查 Intel IA32 instruction manual... XD
03/25 17:29, 1F

03/25 17:30, , 2F
實際上 EDX:EAX 是 64-bit 被除數 算完有餘跟商
03/25 17:30, 2F

03/30 07:46, , 3F
推一樓 有時候intel寫得比課本清楚XDD
03/30 07:46, 3F
文章代碼(AID): #1L4Jrj2w (ASM)
文章代碼(AID): #1L4Jrj2w (ASM)