2012-11-07 100 views
2

我讀過學習低級語言可以幫助編寫高級語言(儘管不是必需的)。如何編寫彙編語言 - 我需要設置什麼

但是,我不知道如何建立。

如果有人對我說「我想學習VB.NET或C#.NET,我該怎麼做?」我會回答:使用Windows操作系統下載PC,下載.NET框架,下載Visual Studio,這裏是一個'hello world'教程。

我有完全相同的問題,但彙編語言。我很感激每種語言的語言可能會有所不同,但我不會珍惜您選擇解釋哪種語言。

原因是,我可以在我的機器上本地運行代碼,但是我感覺彙編程序更多地是關於硬件,這是否需要模擬器或是否需要在現場完成(我需要一塊硬件工作)。

+1

彙編器並不像許多人想要的那樣關於硬件。我強烈建議使用指令集模擬器,因爲它大大減少了您的挫折調試,從而極大地提高了成功的機會。最終得到正確的硬件。我強烈建議不要先學習x86,最後學習或永遠不要學習。更好的體系結構是msp430或pdp11,arm,thumb(首先跳過thumb2),avr等等。mips是第二個指令集的不錯選擇,我會學習兩三個,他們從一個到另一個學習指數級地更容易學習下一個。 –

+1

樹莓派的建議是一個很好的,請使用論壇的裸機部分的幫助,因爲人們已經有烘烤pi教程的各種問題。 –

回答

3

你有最近的一個選擇是購買一個Raspberry Pi,並按照本教程:http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/

另一種選擇是買這本書:http://nostarch.com/hacking2.htm。它配備了一個LiveCD已經設置爲你開始修修補補,你可以在這裏免費下載:http://nostarch.com/hackingCD.htm

快樂黑客:)

編輯:

免費電子書是這裏6502組件:http://skilldrick.github.com/easy6502/

+1

這超出了完美。啤酒對我來說就是這樣,非常感謝你! – Dave

2

另一個有趣的玩法是MARS MIPS模擬器。您無需購買任何額外的硬件即可運行它,並且可以在您使用內存時向您顯示內存中發生的情況。此外,它是免費的。

鏈接here

2

與其他所有的答案,你應該對你的方式有一件事我還沒有發現很好的示例代碼或任何事情來幫助你開始編寫代碼。試試這個鏈接: http://www.gabrielececchetti.it/Teaching/CalcolatoriElettronici/Docs/i8086_instruction_set.pdf

試試這個代碼:

a200 

Db"Hello World$" 

A190 

MOV DX,0200; MOVE DX TO LOCATION WHERE THE STRING IS AT 

MOV AH,09; 09 IS THE OUTPUT STRING SELECTION 

INT 21; DOS SERICES...WRITING TO THE SCREEN 

RET 

a100 

call 190; write the string starting at location 0200 

int 3 

所以如果有錯誤我還沒有測試此代碼.... 編碼快樂!

+0

那麼我該如何運行這段代碼呢?正如我在OP中所說的,我通常在VS中完成所有的工作,因爲它可以編譯和調試等等。所以,我在哪裏粘貼這些代碼,以及如何執行它? :) – Dave

+0

如何複製和粘貼並運行它:1.取出a200和db「hello world $」代碼行之間的空格並粘貼它們。然後取出寫在a190和ret拷貝之間的代碼之間的空格,並將其粘貼到.....將a100與int 3一樣拷貝並粘貼。 2然後執行你的代碼,你將g = 100,這就意味着從0100內存位置開始執行代碼。 –