2009-08-12 53 views
5

我想學習彙編,並可能編寫自己的簡單彙編器(我最近閱讀了一篇關於如何創建操作系統的有趣文章,並很快意識到對程序集有一定的熟悉程度會在這裏幫助我很多)。如何執行機器代碼(學習彙編)

問題是,雖然我確定在彙編語言/機器代碼中找到文章和指南時沒有問題,但我傾向於通過實踐學習,並且我真的很想去執行我的碼。我想我有兩個選擇:

  • 瞭解如何創建一個Windows可執行
  • 使用某種虛擬機/模擬器

第二個選項聽起來更好對我來說,因爲它保護了我從潛在地犯了愚蠢的錯誤,並且可能會更接近我在編寫操作系統時所處的環境,但我並不確定如何去做。

+0

護理分享這篇文章? – 2009-08-12 10:58:42

回答

0

從一些教程開始。

看看FASM或MASM。

1

你不說你感興趣的處理器,這是非常重要的。 但是,假設採用intel x86系列,那裏有不少仿真器,可讓您在 桌面上安全地運行代碼,例如this。谷歌爲「8086模擬器」更多。

+0

嗯,我還沒有決定,我想我可能會在某種嵌入式系統上運行,但我認爲在這個階段它並不重要,因爲在我看來,技能和概念在archetectures之間是可以轉換的。 – Justin 2009-08-12 11:35:35

+1

基本概念是的,但在一個特定的架構上變得熟練可能需要相當長的一段時間 - 我曾經是一個非常好的Z80程序員,但即使如此,花了幾個月的時間才成爲一個平均的6502。現代建築比這兩者複雜得多。 – 2009-08-12 11:42:01

2

我建議你學習RISC組裝,而不是CISC;你將有更少的學習指導,並且你可以練習建立更多更高層次的構造。我第一次學習MIPS彙編,因爲它有一個偉大的免費模擬器(SPIM)和教科書,我不幸忘記了它的名字,但它有一個古老的編織裝訂和奶油色。

+0

我參加了一門講授MIPS彙編程序並使用SPIM的課程。它提醒了我很多Applesoft Basic(如果/然後/其他,轉到,gosub,基本數學)。 – crashmstr 2009-08-12 13:22:13

4

你可能想讀這個夢幻般的:book

+0

我希望我可以給每一本書的認可遠遠超過+1 – Dinah 2009-09-07 16:49:17