《機械語言》嘅修訂比較
m 執 |
m 執 |
||
第5行: | 第5行: | ||
機械語言係一個好[[數字]]化好低階嘅程式語言,淨係用數字嚟表達嗮所有嘢<ref name="Tech"/>。組成一段機械碼嘅數字會包含嗮「要用啲乜嘢數據」同「要做啲乜嘢作業」等嘅資訊。舉個例說明:假想而家有一種機械語言,佢嘅每一段指令都會由 30 個數字組成,呢 30 個數字每一個都一係 [[1]] 一係 [[0]],頭嗰 12 個數字用[[二進制]]表達數據 A,跟住嗰 12 個數字用二進制表達數據 B,而最尾嗰 6 個數字就表達「要做啲乜」-即係「000000」代表「做[[加]]」,「000001」代表「做[[減]]」等等。於是喺一段用呢種語言寫成嘅[[源碼]]入面,「000000000011 000000000100 000000」(註:啲數字之間嘅空位係為咗令呢段嘢易睇啲而落嘅)會叫部電腦計 3(用二進制寫係「011」)加 4(用二進制寫係「100」)嘅結果出嚟,而且如果呢段嘢多咗個位或者少咗個位,都會搞到個指令唔同咗。 |
機械語言係一個好[[數字]]化好低階嘅程式語言,淨係用數字嚟表達嗮所有嘢<ref name="Tech"/>。組成一段機械碼嘅數字會包含嗮「要用啲乜嘢數據」同「要做啲乜嘢作業」等嘅資訊。舉個例說明:假想而家有一種機械語言,佢嘅每一段指令都會由 30 個數字組成,呢 30 個數字每一個都一係 [[1]] 一係 [[0]],頭嗰 12 個數字用[[二進制]]表達數據 A,跟住嗰 12 個數字用二進制表達數據 B,而最尾嗰 6 個數字就表達「要做啲乜」-即係「000000」代表「做[[加]]」,「000001」代表「做[[減]]」等等。於是喺一段用呢種語言寫成嘅[[源碼]]入面,「000000000011 000000000100 000000」(註:啲數字之間嘅空位係為咗令呢段嘢易睇啲而落嘅)會叫部電腦計 3(用二進制寫係「011」)加 4(用二進制寫係「100」)嘅結果出嚟,而且如果呢段嘢多咗個位或者少咗個位,都會搞到個指令唔同咗。 |
||
機械語言嘅高度數字化令到電腦好容易明白佢,所以機械碼有個優點係可以唔使過[[編譯器]](Compiler)就直接入落去粒 CPU 嗰度,所以做嘢會快啲 |
機械語言嘅高度數字化令到電腦好容易明白佢,所以機械碼有個優點,係可以唔使過[[編譯器]](Compiler)就直接入落去粒 CPU 嗰度,所以做嘢會快啲;但係喺實際應用上,啲人好少可會直接用機械語言[[寫程式]],因為直接用佢哋實在太容易出錯(多咗個 0 或者少咗個 0 都會搞到成段指令嘅意思唔同嗮),而且用佢哋做起[[除錯]]上嚟又嫌撈攪得滯。比較常見嘅做法係用一啲冇噉數字化嘅高階程式語言寫好段源碼,再用編譯器等嘅架生將段源碼轉化做機械碼,畀部電腦執行<ref>[https://owlcation.com/stem/Types-of-Computer-Languages-with-Advantages-and-Disadvantages Types of Computer Languages with Their Advantages and Disadvantages].</ref>。 |
||
== 參考書 == |
== 參考書 == |
喺2018年6月25號 (一) 10:24嘅修訂
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/W65C816S_Machine_Code_Monitor.jpeg/390px-W65C816S_Machine_Code_Monitor.jpeg)
機械語言(粵拼:gei1 haai6 jyu5 jin4;英文:Machine language)係程式語言嘅一種,特徵係由呢啲語言寫成嘅機械碼(Machine code)可以畀部電腦粒 CPU 直接噉處理[1],而且佢哋行行指令都會叫粒 CPU 做一個好特定嘅作業,好似係加載啲資訊、直接噉跳去某個步驟嗰度、以及係攞 CPU 暫存器或者記憶入面某啲數據嚟做算術邏輯嘢呀噉。
機械語言係一個好數字化好低階嘅程式語言,淨係用數字嚟表達嗮所有嘢[1]。組成一段機械碼嘅數字會包含嗮「要用啲乜嘢數據」同「要做啲乜嘢作業」等嘅資訊。舉個例說明:假想而家有一種機械語言,佢嘅每一段指令都會由 30 個數字組成,呢 30 個數字每一個都一係 1 一係 0,頭嗰 12 個數字用二進制表達數據 A,跟住嗰 12 個數字用二進制表達數據 B,而最尾嗰 6 個數字就表達「要做啲乜」-即係「000000」代表「做加」,「000001」代表「做減」等等。於是喺一段用呢種語言寫成嘅源碼入面,「000000000011 000000000100 000000」(註:啲數字之間嘅空位係為咗令呢段嘢易睇啲而落嘅)會叫部電腦計 3(用二進制寫係「011」)加 4(用二進制寫係「100」)嘅結果出嚟,而且如果呢段嘢多咗個位或者少咗個位,都會搞到個指令唔同咗。
機械語言嘅高度數字化令到電腦好容易明白佢,所以機械碼有個優點,係可以唔使過編譯器(Compiler)就直接入落去粒 CPU 嗰度,所以做嘢會快啲;但係喺實際應用上,啲人好少可會直接用機械語言寫程式,因為直接用佢哋實在太容易出錯(多咗個 0 或者少咗個 0 都會搞到成段指令嘅意思唔同嗮),而且用佢哋做起除錯上嚟又嫌撈攪得滯。比較常見嘅做法係用一啲冇噉數字化嘅高階程式語言寫好段源碼,再用編譯器等嘅架生將段源碼轉化做機械碼,畀部電腦執行[2]。
參考書
- Hennessy, John L.; Patterson, David A. Computer Organization and Design. The Hardware/Software Interface. Morgan Kaufmann Publishers. ISBN 1-55860-281-X.
- Tanenbaum, Andrew S. Structured Computer Organization. Prentice Hall. ISBN 0-13-020435-8.
- Brookshear, J. Glenn. Computer Science: An Overview. Addison Wesley. ISBN 0-321-38701-5.