跳去內容

《機械語言》嘅修訂比較

出自維基百科,自由嘅百科全書
內容刪咗 內容加咗
Dr. Greywolf討論貢獻
m
Dr. Greywolf討論貢獻
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 嗰度,所以做嘢會快啲但係喺實際應用上,啲人好少可會直接用機械語言[[寫程式]],因為直接用佢哋實在太容易出錯(多咗個 0 或者少咗個 0 都會搞到成段指令嘅意思唔同嗮),而且用佢哋做起[[除錯]]上嚟又嫌撈攪得滯。比較常見嘅做法係用一啲冇噉數字化嘅高階程式語言寫好段源碼,再用編譯器等嘅架生將段源碼轉化做機械碼,畀部電腦執行。
機械語言嘅高度數字化令到電腦好容易明白佢,所以機械碼有個優點係可以唔使過[[編譯器]](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嘅修訂

顯示緊機械語言嘅熒幕,展示咗反組譯器等嘅資訊;呢種語言完全唔似自然語言,冇返噉上下專業訓練實唔會睇得明。

機械語言粵拼: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.