2012-03-16 17 views
-7

我想鍵入一對夫婦1和0的到記事本中,另存爲something.exe,並得到一個程序。顯然,它不會很複雜。即使只是打招呼也行。我如何輸出文字?我該如何暫停它,以免它立即關閉?任何人都有資源說明這一切嗎?創建EXE文件只有1和0:機器代碼

+4

您不能只通過鍵入'1'和'0'來編程機器代碼。你應該看看彙編程序設計:http://en.wikipedia.org/wiki/Assembly_language – 2012-03-16 20:17:25

+3

http://dilbert.com/strips/comic/1992-09-08/ – 2012-03-16 20:18:00

+3

告訴我你是拖釣嗎? – jzworkman 2012-03-16 20:18:15

回答

1

我認爲如果您使用文本編輯器,在文本文件中鍵入二進制(1和0)或十六進制,然後編寫一個小程序讀取ascii文件並將其保存爲二進制位或你想要的字節。基本上是製作一個機器碼彙編器。

您應該指定處理器和操作系統,你有興趣參加此之前,還。您不僅需要知道指令集的操作碼/機器碼,而且需要知道操作系統的二進制文件格式(coff,elf,exe等),並且需要手動編寫所有這些信息(更適合讓您的機器代碼彙編器根據需要爲您創建該標題)。

作爲一個例子採取http://github.com/dwelch67/lsasim的教育指示與模擬器和我創建的工具集。 「二進制文件格式」是一個ascii文件,機器碼以可讀的十六進制表示。模擬器讀取並執行它,如果需要(我首先對其進行了測試),您可以手動編寫機器代碼而不是彙編語言。我沒有操作系統等,讀取機器代碼文件的解析器將它變成二進制1和0的緩衝區,這是處理器的模擬內存。

在DOS和Windows的舊時代的調試命令行程序做出這種事情很容易,手工代碼彙編語言或機器代碼的字節,當你保存你可以很容易地保存到一個.COM的可執行文件。我確定我不是唯一一個使用調試學習x86彙編語言的人,因爲我買不起像masm這樣的軟件工具,也沒有調制解調器來獲得流行的免費彙編程序是asm86還是某種類似的東西(直到幾年後我能買得起那些)。如果調試仍然是Windows命令行的一部分,那麼您現在可能仍然使用該工具執行此操作。

+0

我不這麼認爲 – yourface 2012-03-18 15:12:58

0

您需要先找出它會運行在特定的處理器,並且還的環境(原CPU,某些操作系統,別的東西)。您需要從環境中確定正確的二進制格式。您需要從CPU中確定實際的機器語言。還有其他一些你需要確定的事情。

你的問題可能是「生命從何而來?」 - 是的,它可以回答,但不會通過簡單的Q &論壇獲得任何有用的結果。如果你想進一步追求這一點,你可以考慮在計算機組織課程(或只是讀一本書),集中在彙編語言的細節。從那裏開始,學習將程序集轉換爲機器代碼並不是一件容易的事情(儘管仍然有相當一部分需要學習)。

+0

這是否意味着我不能鍵入一串0和1的到記事本,保存,並得到一個程序?所有我想要它做的就是說嗨。 – yourface 2012-03-16 20:26:01

+0

是的,它肯定是這個意思。 – mah 2012-03-16 20:26:44

+0

010010做一個暫停,而其他人不 – yourface 2012-03-16 20:28:36

相關問題