我正在編寫一個解釋的68k模擬器作爲個人/教育項目。現在我正在嘗試開發一個簡單的,通用的解碼機制。 據我所知,每條指令的前兩個字節足以唯一地標識操作(有兩個罕見的例外),並且剩下要讀取的字的數量(如果有)。 這裏是我想在我的解碼階段完成的任務: 1. read two bytes
2. determine which instruction it is
3. extract the opera
有沒有好的68k程序員在那裏?我爲摩托羅拉68040使用了商業化的Green Hills編譯器,我看到代碼中有一些非常奇怪的行爲。有時,代碼會執行一個if/else比較,並採用錯誤的分支。例如: float a = 1, b = 2;
if (a < b)
do c;
else
do d;
該代碼有時會d !?我發現當發生這種錯誤時,總會有一個特定的ISR中斷比較。我
我被計算機讀取組織起來,在存儲器章節它提到,「SDRAM的具有若干操作模式,用於可指定例如突發不同長度的模式。」有人可以詳細說明什麼是突發模式? 爲什麼我感到困惑的主要原因是因爲在I/O章突發模式被定義爲DMA直接訪問到主存儲器傳輸數據塊的方式,但這個定義沒有按」噸真的意義在內存章前述......還有谷歌給出一個稍微不同的定義= S
我正在對IDA的一個大型Amiga項目進行逆向工程,並取得了很大的進展。但是,有一些我不太明白的東西。也就是說,我發現了幾個使用我認爲是「跳轉表」的子程序 - 但我無法弄清楚它們是如何工作的。有人有建議嗎? moveq #0,d0
move.b d7,d0 ; set D0 to a byte from CTRL
subq.w #1,d0 ; subtract 1 f