Re: [問題] 我適合現在就去接觸組合語言嗎
Handspring老兄,從你的文章裡,我發現你有很多觀念很混淆
我試著幫你釐清,看看有沒有幫助
你的文章裡提到幾個名詞,我把它分成四大類
A C語言、組合語言
B 低階語言、高階語言、中高階語言
C 系統程式
D X86 80X86 CPU
這些是不同的東西,但相互有關聯
首先第一類,電腦語言
我們先不去談電腦語言,先來看看我們平常說話的語言
有中文、日文、西班牙文、英文.......
各語文有各語文的特色,以及它使用的場合
但是各語言之間的轉換遵守一定的法則
我們統稱文法
在電腦的世界也是一樣的
C語言有C語言使用的場合,組合語言也有它適用的場合
延伸來說,BASIC、PASCAL、FORTRAN也各有牠們適用的場合
各語言相互獨立,各有各的開發環境
單看你在何種場合使用它
但各語言間也有轉換的法則
但通常,都以組合語言為轉換的標準
為什麼會這樣呢
這就要用下一類的觀念來解釋------低階、高階、中高階
首先有個觀念我一定要先說明
在電腦的世界裡,中央處理單元(CPU),最重要的核心
CPU只懂一種語言,叫做機器碼,是由一堆16進位的數字組成
各不同的CPU都有不同的機器碼
INTEL 80系列有一套,Motorola也有一套
而且十分複雜,爾且很不直覺
於是就有人發展出了一種電腦語言,加上一些簡單易記的助記碼
這就是組合語言
因此,組合語言是最貼近電腦能懂的電腦語言
不知從何開始,有人就定義,
越接近機器碼的語言,統稱為低階語言,如組合語言
越接近人類直覺能懂得語言,統稱為高階語言,如BASIC
介於低階及高階之間的語言,統稱為中高階語言,如C
回到上一個問題
為何大家都以組合語言為依規呢
經過上面的說明,其實你也大概知道
組合語言最接近機器碼,大家都翻譯成機器碼,最能相互融合
就像我們說的語言,大家通常都會翻譯成英文
因為英文最多人懂,也最好紀錄
一樣的道理
以上討論的,我們統稱軟體(Software)(對岸翻譯成軟件)
接下來,我們討論硬體(Hardware)
8086、80x86是CPU晶片的編號,這是Intel族系的編號
我們寫出來的軟體,只是一串邏輯觀念,需要透過硬體,才能把這串邏輯加以實現
CPU就是指揮調度這串邏輯最重要的中心
這就是你問,"組合語言跟X86或80X86是什麼關係"的解答
最後,系統程式
我們都知道,電腦硬體不單單僅只有CPU
它還包含其他部分,才能完成我們輸入的命令
喔!對了,再定義一個名詞,由程式員輸入的命令,統稱為指令(Instruction)
這些部份,包含鍵盤、螢幕、音效卡、顯示卡.......很多很多
這些元件,我們統稱系統周邊
如果我們實現一串指令,形成一串程式,控制這些系統周邊
這種程式,通常稱為系統程式
所以,系統程式不一定要由組合語言實現
C、BASIC都可以實現
寫了一大串,試著釐清你所提出的問題
希望對你有幫助
※ 引述《loveflames (.....)》之銘言:
: ※ 引述《Handspring (我厭倦資本的競爭主義)》之銘言:
: : 我都不會任何程式語言
: : 這學期要去上一門C++
: : 另外也考慮要去旁聽組合語言
: : 請問這樣好嗎
: : C++跟組合語言不是獨立的東西
: : 所以不會C++應該沒差吧??!!
: : 請問 組合語言是不是一些低級語言的總稱
: : 不然組合語言跟X86或80X86是什麼關係
: : 另外 組合語言的別稱 是不是又叫系統程式
: 在不同的cpu
: 都大概是這樣
: 機械語言→組合語言→(中高階語言)→(高階語言)
: 凡是可直接看出cpu動作的就算組合語言了
: x86架構下
: 中高階語言應該是C
: 其他大概都算是高階語言
: 註:系統程式是OS、Assembler、compiler的入門
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.110.232
推
03/08 00:57, , 1F
03/08 00:57, 1F
推
03/08 01:00, , 2F
03/08 01:00, 2F
推
03/08 10:36, , 3F
03/08 10:36, 3F
推
03/11 14:41, , 4F
03/11 14:41, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章