理論上,能否直接用組合語言寫出今天所有的電腦程式?

時間 2021-05-12 01:19:08

1樓:貓爹

我傾向於認為不可以,不能嚴謹證明,不過大體思路是這樣:

每乙個行為都增加系統內的熵,每乙個運作的系統只能承受固定的熵。讓系統運作起來的動作越多那麼混亂度飽和前系統運作起來的概率就越低。彙編實現大軟體要求的動作數實在太高了。

2樓:張砸鍋

從理論上來說,如果兩種語言都是圖靈完備的,那麼它們就是等價的,也就是說,用其中一種語言編寫的程式,就能被轉換為用另一種語言去寫。事實上,目前所有程式(馮諾依曼體系下)都是被轉化為機器指令來執行的,而大部分情況下機器指令與彙編指令可以認為是一對一關係。從這個層面來看,用組合語言寫出今天所有的電腦程式,回答「能」貌似沒有問題。

但是你自己如果真的想單純用彙編去構建乙個大型軟體,你會發現簡直無從下手,我臆測題主也是因為有這個感覺才提出這個問題的。那麼感覺無從下手的原因是什麼呢?我贊同這個回答:

理論上,能否直接用組合語言寫出今天所有的電腦程式? - 匿名使用者的回答,這就像你要把從造第乙個輪子開始到造出一輛汽車的整個文明發展過程純手工復現一遍,顯然是不可能的。

3樓:封禁讓我戒乎

當然可以!

只是,在寫的過程中,程式設計師會因為彙編的開發繁瑣、低效,而自動建立出高階語言,再用它們進行編寫了。。。。

程式設計師是最無法容忍機械重複的

4樓:

別說組合語言了理論上全用機器碼都可以實現今天所有的程式語言只是工具區別在於這工具用起來順不順手,適不適合選擇某個開發語言,很多時候是因為它好不好用rather than 它能不能用。

如果從業的猴子獅子們水平足夠高,連機械鍵盤什麼的都省了。

只要生產足夠耐操的只有兩鍵0和1的鍵盤或者腳踏板就能改變世界change the world。

Isn't it?

5樓:

不能,這跟人類能否直接用徒手從原始文明重現現代文明一樣, 肯定是簡單-複雜,用機器製造更複雜精度更高的機器,而不是乙個個徒手造輪子,否則窮其萬年也完不成。

socket程式設計能用組合語言實現嗎?

n132 從技術上來講可以的.我寫過乙個reserve shell linux 下 主要用到了SYS SOCKET 和 SYS DUP2 題主可以了解一下SYS SOCKET系統呼叫相關用法,事實上做過一遍感覺也不是特別複雜. Code Diy 實現需要考慮時間。如果乙個月完成叫實現,那是不能的。如...

PC上的組合語言是由CPU廠商開發的?還是由作業系統廠商開發的?

已登出 gas是gnu出的,masm是ms出的,nasm和yasm是 嗯 奇奇怪怪的人出的。gas用的AT T風格彙編 甚至可以是平台無關的 intel倒是出過icc。貴到正常人不會去用的那種。 李向東 PC上主流的倆 Intel彙編 AT T彙編 誰搞的?看名字 按摩店有交叉授權 作業系統因為涉及...

神父的天堂製造替身能力,理論上能否被破解?

roadrollar噠 理論上很難破解,加速開始前產生巨大的氣流與閃光將周圍的敵人卷走,加速開始後越來越快直到沒人能跟上,哪怕不發動能力神父本身都無法被天氣預報一拳捶死,實在是特別難打。不過也不是完全沒有可能破解,以下是幾種猜測 1.頂住天堂製造能力發動前的那陣清場AOE,在天堂製造沒能加速起來之前...