官术网_书友最值得收藏!

2.1 機(jī)器語言

在第1章中我們知道了計(jì)算機(jī)做任何工作都是由存儲(chǔ)在其中的程序來控制的,而程序(Program)是由一條條的指令和各種數(shù)據(jù)組成的,而且這些指令和數(shù)據(jù)都是由只有0和1兩種符號(hào)的二進(jìn)制數(shù)來表示的(代碼清單2.1)。在計(jì)算機(jī)世界中我們把這種用二進(jìn)制代碼表示的計(jì)算機(jī)能直接識(shí)別和執(zhí)行的指令和數(shù)據(jù)的集合(程序)稱為“機(jī)器語言”(面向機(jī)器的語言)。就如同我們?nèi)祟愂澜缰邪延胊~z這26個(gè)英文字母組成的語言稱為英語一樣。在人類世界中,除了英語之外還有漢語、日語、法語等等各種不同的語言,它們的組成符號(hào)都各不相同。在計(jì)算機(jī)世界中也有多種類型的語言。除了用二進(jìn)制代碼表示的機(jī)器語言之外,還有匯編語言、BASIC語言、Pascal語言、C語言、Java語言、Visual Basic語言、PHP語言、HTML語言等,這些我們都統(tǒng)稱為計(jì)算機(jī)的程序設(shè)計(jì)語言。

代碼清單2.1 機(jī)器語言代碼片段

機(jī)器語言是最底層的計(jì)算機(jī)語言。用機(jī)器語言編寫的程序都是由8bit二進(jìn)制數(shù)構(gòu)成的,每個(gè)8bit的二進(jìn)制數(shù)都是有特定含義的指令或數(shù)據(jù)??墒菍?duì)人來說,我們看到的都是0和1的組合,是很難判斷各個(gè)組合都表示什么的。于是就有人發(fā)明了另一種編程方法,根據(jù)表示指令功能的英語單詞給每一種指令起一個(gè)相似的昵稱,并用這個(gè)昵稱來代替表示指令的0和1的二進(jìn)制數(shù)組合,而數(shù)據(jù)則用我們更容易接受的十六進(jìn)制數(shù)或十進(jìn)制數(shù)來表示(代碼清單2.2)。這種類似英語單詞的昵稱叫作“助記符”,我們把這種使用“助記符”的編程語言稱為“匯編語言”。

知識(shí)點(diǎn)總結(jié)

機(jī)器語言是唯一一種CPU能直接理解并執(zhí)行的編程語言。

用匯編語言編寫的程序計(jì)算機(jī)是不能直接運(yùn)行的,必須先轉(zhuǎn)換成機(jī)器語言。

代碼清單2.2 匯編語言程序示例(輸出“Hello,world!”)

用匯編語言編寫的程序計(jì)算機(jī)是不能直接運(yùn)行的,必須先轉(zhuǎn)換成機(jī)器語言。機(jī)器語言是唯一一種CPU能直接理解并執(zhí)行的編程語言。

匯編語言的助記符以及數(shù)據(jù)和機(jī)器語言的二進(jìn)制代碼都是一一對(duì)應(yīng)的,都是針對(duì)計(jì)算機(jī)硬件的,也就是說都是面向機(jī)器的語言。不同的計(jì)算機(jī)硬件(CPU)所用的助記符和二進(jìn)制代碼是不一樣的,所以這樣的程序其通用性不好,如果把它移植到其他的計(jì)算機(jī)上就無法正常運(yùn)行了。我們通常把機(jī)器語言和匯編語言稱為低級(jí)語言。

主站蜘蛛池模板: 罗江县| 洛川县| 孟州市| 彩票| 图们市| 应城市| 无棣县| 金溪县| 鄱阳县| 淮安市| 建昌县| 虎林市| 农安县| 古交市| 伊吾县| 灵武市| 米林县| 从江县| 高青县| 介休市| 华亭县| 株洲市| 汽车| 蕉岭县| 东台市| 易门县| 全南县| 乌恰县| 申扎县| 大关县| 中超| 信丰县| 云龙县| 海城市| 阳东县| 安塞县| 怀安县| 咸丰县| 武功县| 禄丰县| 长阳|