我移植了良好的和我面臨以下組件86行:然後什麼裝置32位與操作碼分貝x86架構尋址
mov al, UNLOCK_DATA1 ; load al with byte for the first unlock write
db 67h ; use 32 bit addressing
mov ds:[esi], al ; write the command to flash
mov eax, FLASH_ADDRESS ; load ecx with the base address for flash
該代碼段在保護模式下運行。所以問題是,爲什麼「db 67h」???這是什麼意思 ?
也許它實際上是16位代碼。所以需要前綴來使用esi而不是si。而且你使用了一個32位的反彙編程序,所以它不知道如何處理前綴。閃爍代碼不可想象。 –
您是否已經從16位源代碼中用[esi]搜索/替換'[si]'?這可以解釋爲什麼評論沒有意義了。 (我假設你從16位移植?) –