[問題] 索引暫存器的問題

看板ASM (組合語言)作者 (ppttcc)時間14年前 (2010/12/02 09:04), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
程式碼如下: mpd word 5 mpr word 4 mov AL,3 mov si,offset mpd add [si],mpr ;產生 invalid instruction operands錯誤 若改成 add mpr,[si] add [si],mpr add word ptr [si],mpr add mpr,word ptr [si] 也會產生同樣的錯誤. 改成立即值也是 mov [si],0 但若改成將解參考的中括號拿掉 add mpr,si add si,mpr 則能完成組譯,但如此一來加到mpr的就是si所存的位址,而非位址之值 或者需將變數改成暫存器 add al,[si] add [si],al 才能完成組譯, 立即值則需加上word ptr(無法理解) add [si],word ptr 0 因為在Irvine的書上沒看到SI,DI有這限制,不曉得到底是哪裡出問題了? DI的另一個運算元是否能是變數?麻煩幫忙指點迷津?謝謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.62.92 ※ 編輯: ppttcc 來自: 114.38.62.92 (12/02 17:20) ※ 編輯: ppttcc 來自: 114.38.62.92 (12/02 21:21) ※ 編輯: ppttcc 來自: 114.38.62.92 (12/02 21:25)
文章代碼(AID): #1Czs4fMN (ASM)
文章代碼(AID): #1Czs4fMN (ASM)