2009-01-15 96 views
4

任何彙編口譯員在那裏?口譯彙編代碼

我在找什麼:

  • 我有一些組件的固件代碼我想運行,而不是實際硬件。
  • 我想運行代碼,看看它在做什麼。

那麼,有沒有某種自由和易於使用的組裝模擬器呢?

你能想到的任何其他指針?

+0

我們需要更多的信息,硬件指標等? – Kev 2009-01-15 21:47:25

+0

它實際上是對PIC單片機,但現在,我只想運行彙編代碼(這是很普通的) – cbrulak 2009-01-15 22:10:09

回答

4

你應該看看一些處理器模擬器只有這樣你可以「解釋」組裝,例如:QemuBochs

2

簡答:是的。

較長的答案:取決於您裝配的CPU以及與之連接的外圍設備類型。世界上有幾千個不同的CPU容器。

2

對於x86彙編,您可以使用Bochs這樣的x86 PC模擬器。

1

可能,但請注意,這是一兩件事,模仿的核心指令集,又是另一回事處理外設。

如果您只是在模擬一種對數據進行操作的算法,那麼您可能只需模擬CPU內核即可脫身。

如果您需要模擬模數轉換器或UART或PWM驅動器,那是一個完全不同的球賽。 CPU內核指令集(通常)已被很好地指定,以便您可以很好地模擬其行爲。外設指定只展示自己的功能需求,而不是保證他們的行爲恰恰足以讓一個模擬器,而不必知道他們是如何實現外設的問題。

4

爲了運行,其被設計用於特定設備彙編代碼,則需要與特異性模擬該設備的仿真器上運行。像Qemu這樣的x86仿真器將完全無法運行爲ARM CPU內核編寫的彙編代碼。這不是「幾乎可行」的情況,但它甚至不能運行第一條指令。

由於mentioned by Jason S,模擬外設或任何CPU核心之外是非常具體的,你已經得到了設備。 PCB版本之間的細節甚至可能不同。

如果你只是好奇什麼樣的彙編代碼是幹什麼的,你可能會更好坐下來與CPU的參考手冊,並檢查依次在每個指令。如果你要使用這種設備進行認真的工作,那麼最終你必須具備這些知識。