iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
1
自我挑戰組

學習30天的c++系列 第 2

Day2 學習30天的c++

程式語言的分類(上)
就像是人與人之間透過『語言』來溝通和傳達訊息。同樣地,我們和電腦通通若使用電腦能辨識的程式語言用機器的語言來撰寫「程式」如此不用經過翻譯電腦便能直接執行,撰寫此種程式語言和機器相關的屬於低階語言;若使用電腦無法辨識的程式語言來撰寫程式,語言和機器無關屬於高階語言,必須經過一定的程序來撰寫程式在轉換為電腦所能辨識的執行指令,才能在電腦上執行,我們將這轉換的過程稱為『翻譯』
程式語言依時代的演進分為五個層次:

  1. 第一代語言:機器語言(Machine Language)
  • 已連續的0、1二進位碼來編寫程式,0、1是電腦內部唯一的程式語言,不須經過翻譯就能直接執行,執行速度最快。
  • 屬於機器導向語言。不同廠商的CPU不同,使用的機器語言當然不同。此語言語機器相依度高可攜性極低。
  • 撰寫此程式都由0、1組合而成,費時費力實用性差難維護。
  • 表示方式:
    記憶位址 內容(2進制) 內容(16進制)

1000 1010 0011 0000 0001 A301
1002 0000 0001 1011 0010 01B2
1004 0001 0011 1101 0101 13D5

2.第二代語言:組合語言(Asembly Language)

  • 低階語言是屬於一種符號式語言,由字母與字數組成助憶碼。
    例如:sum=10+20,使用Intel CPU所提供組合語言的寫法如下:
mov ax,10;
add ax,20:
mov sum,ax:
  • 屬於機器導向語言。編寫這程式時必先了解電腦CPU內部暫存器和記憶體的運作才能編寫,和電腦相依性高,不同CPU,語法不同,因此可能可攜性低
  • 適用於電腦專業人員來編寫有關電腦系統或輸出入介面的驅動程式
  • 必須使用組譯器(Assembler)將撰寫的程式逐行組成機器語言才能執行。

上一篇
Day1 學習30天的c++
下一篇
Day3 學習30天的c++
系列文
學習30天的c++30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言