作者physicsmm (Mark)
看板b93902HW
標題[作業] 組語作業四的一個bug
時間Sat Dec 10 17:32:58 2005
我昨天組語de了五個小時的bug,
因為我只是寫了20行的insertion sort而已,
結果用各種方法還是de不出來。
==
後來發現可能是助教寫的比對程式有用到edi這個暫存器,
所以大家如果要安全地用各個暫存器,
記得要在code開始和結束的地方加上pushad和popad喔。
==
不然就是不要用到edi這個暫存器....
我遇到的情形是把所有的edi都改成edx就AC了..>"<
然後才發現這個情形。
==
感謝室友Boris協助debug!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.247.132
推 ader888:我從頭到尾只用EAX EBX ECX EDX ESI還有兩個陣列呢!噗 12/10 22:19
推 usoko:反正記得register一定要恢復成原始值就對了 12/10 23:57
推 Rabby250:個人習慣不回傳的 Reg 通通用 USES 鎖起來 12/11 11:54
推 lapras:eax ebx ecx搞定... 12/17 23:28
→ lapras:不過pushad popad之後變成兩倍速,不知道為什麼 @@ 12/17 23:29