2011-06-09 96 views
4

這個問題是乞求一堆「你爲什麼這樣做?」響應。68k寄存器地址

我一直未能在68k Programmer's Reference Manual中找到此信息,但這可能是因爲我不確定要搜索哪種語言。

這裏是68k的ADD操作碼的指令格式。

enter image description here

位0-2和9-11候寄存器。什麼是68k寄存器的二進制表示?他們是「地址」嗎?

是的,我知道我可以編寫一個68k的彙編程序並對其進行調試以查找此信息。我正在尋找一個參考。謝謝!

+0

寄存器沒有地址。如果你不明白,你不瞭解機器架構。這些位簡單地說明CPU中的哪個寄存器將被使用。他們解碼我的微碼引擎。 – 2011-06-09 21:22:41

+0

我知道他們不是內存地址。這很明顯。他們仍然可以被稱爲/地址。另外,我沒有聲稱理解機器架構。我正在嘗試學習;請原諒我提問。 – mwcz 2011-06-09 22:33:51

+0

@ mwcz我們可以稱他們爲「zoinks」,但這並不能使他們變得更好。術語很重要,在編寫和理解機器代碼程序的情況下,非常重要。 – 2011-06-09 22:43:25

回答

4

See Sec。 2.1,「指令格式」:

指令指定要用操作碼執行的功能,並定義每個操作數的位置。指令通過寄存器指定指定操作數位置,指令的寄存器字段保存寄存器編號;通過有效地址,指令的有效地址字段包含尋址模式信息;或通過隱式引用,指令的定義意味着使用特定的寄存器。 (強調增加)

+0

謝謝,這有幫助。我剛剛弄清楚了,這很明顯,難怪它沒有列在文檔中。 :) – mwcz 2011-06-10 00:55:28

+1

@mwcz對於我們這個問題後的凡人,寄存器編號是8位D0-D7或A0-D7寄存器的3位二進制表示。 – Caltor 2012-01-16 16:47:08

+1

@Caltor是的,它是。當我發佈這個問題時,我對於如何通過3位字段引用所有16​​個寄存器(A和D寄存器)感到困惑。現在感覺這是一個愚蠢的問題,因爲它很明顯(回想起來)數字(0-7)包含在寄存器字段中,並且尋址模式確定該數字是指A還是D寄存器。 – mwcz 2012-01-17 02:18:18

2

這些可能是指您鏈接的手冊的圖1-1,第1-2頁中列出的An和Dn寄存器。

1

3位指定從0(位:0-0-0)到7(位:1-1-1)的地址寄存器編號。但通常你可以讓彙編程序擔心這個問題。 我希望這會有所幫助, Dave

+0

謝謝。我當時正在編寫一個仿真器,所以依靠彙編器不是一種選擇。 – mwcz 2015-02-26 22:53:12