程式語言:
電腦程式語言的最大功用,就是讓人可以命令電腦做事,
而且一字不漏,非常精準。
簡單來說,程式語言就是讓人與電腦溝通的語言。
對於電腦來說,電腦只認得 0 與
1 的數位訊號(機器碼)。
然而要人類來撰寫這種電子訊號碼,不但困難而且辛苦。
所以,在軟體發展與使用的過程中,
程式工程師逐漸將撰寫程式的低階數位碼訊號,轉變為較容易
理解的高階程式語法,
演繹誕生了低階語言和高階語言。
在撰寫上,高階的語言就好像在撰寫數學式,
例如:x = 1+7,則結果 8 就會存在變數 x 中。
大部分的高階語言會經過編譯器(Compiler)或
直譯器(Interpreter)的轉換,
(這是不同過程的轉換執行,有興趣的同學可去查詢看這兩種過程的差異)
才能產生可以執行的檔案,就是一般所說的執行檔;或才看得到執行的結果。
而低階語言則常以指令或命令的形式來操作或控制電腦。
儘管如此,要讓電腦能夠「理解」人
類溝通的「自然語言」,
仍舊相當困難,也是資訊界亟待想突破的目標。
低階語言(Low Level Language):
- 組合語言(Assembly Language)
特點:
- 直接控制硬體。
- 撰寫瑣碎,幾乎對應著機器碼作處理。
- 不同硬體所寫的程式,很難移植到另一平台。
以8088/8086來說,其內部有AX、BX、CX、DX暫存器
運算 1 + 7 =
MOV AX , 1
;將1存入A暫存器
MOV BX , 7
;將7存入B暫存器
ADD AX , BX
;將AX+BX相加後,結果存入A暫存器(
ADD X, Y
; X+Y→X)
列印Hello到螢幕上:
MOV AH,09 ;
把 09h 放到 AH
MOV DX,010C ; 把 10Ch 放到 DX
INT 21 ; 呼叫中斷 21
MOV AX,4C00 ; 把 4C00h 放到
AX
INT 21 ; 呼叫中斷 21
DB "Hello$"
; 要顯示的字串內容
- 機器語言:
運算 1 + 7 =
MOV AX , 1
;=>10001011,00000000,00000001
MOV BX , 7 ;=>10001011,00011110,00000111
ADD AX , BX ;=>00000011,00000000,00011110
轉成機器碼為:
100010110000000000000001100010110001111000000111000000110000000000011110
優點:
- 電腦直接認識的語言。
- 速度最快,效率最高!
- 不用經過編譯可執行。
缺點:
- 難撰寫。
- 不同平台或架構的電腦,不能執行。
- 需深入瞭解硬體者才能撰寫程式。
|