找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 11660|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機(jī)用匯編語(yǔ)言和C語(yǔ)言的區(qū)別

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:241942 發(fā)表于 2017-10-25 21:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
說(shuō)實(shí)話學(xué)了挺久的單片機(jī),一直接觸的都是匯編語(yǔ)言,然后一直在想?yún)R編和C的區(qū)別在哪里,也請(qǐng)教過(guò)別人,但是答案都是似是而非的,所以想請(qǐng)各位能詳細(xì)的說(shuō)一下兩者之間的區(qū)別是什么?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:155507 發(fā)表于 2017-10-26 00:43 | 只看該作者
匯編語(yǔ)言是一種用文字助記符來(lái)表示機(jī)器指令的符號(hào)語(yǔ)言,是最接近機(jī)器碼的一種語(yǔ)言。其主要優(yōu)點(diǎn)是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語(yǔ)言可能有所差異,所以不易移植。

C語(yǔ)言是一種結(jié)構(gòu)化的高級(jí)語(yǔ)言。其優(yōu)點(diǎn)是可讀性好,移植容易,是普遍使用的一種計(jì)算機(jī)語(yǔ)言。缺點(diǎn)是占用資源較多,執(zhí)行效率沒(méi)有匯編高。

匯編語(yǔ)言是低級(jí)語(yǔ)言,在編寫(xiě)程序的時(shí)候會(huì)把根據(jù)不同的情況指定使用不同的尋址方式,能夠?qū)?nèi)存和CPU里的通用寄存器直接操縱。不同的單片機(jī)系列會(huì)有不同的匯編語(yǔ)言
而C語(yǔ)言是高級(jí)語(yǔ)言,可以實(shí)現(xiàn)跨平臺(tái)。編寫(xiě)程序無(wú)需指定CPU的指令執(zhí)行情況,一段程序可以在不同體系結(jié)構(gòu)的計(jì)算機(jī)上使用
回復(fù)

使用道具 舉報(bào)

板凳
ID:155507 發(fā)表于 2017-10-26 00:44 | 只看該作者
c語(yǔ)言在編譯的時(shí)候會(huì)進(jìn)行匯編,轉(zhuǎn)換為機(jī)器指令,才可以運(yùn)行
準(zhǔn)確的說(shuō),應(yīng)該是不同指令集的CPU需要編譯成不同的機(jī)器語(yǔ)言。
目前PC機(jī)的CPU的指令集都是一樣的,所以,你在你的PC上編譯了一份可執(zhí)行文件,復(fù)制到你同學(xué)的PC里面,也可以用,但是復(fù)制到平板電腦里,就無(wú)法使用了。

回復(fù)

使用道具 舉報(bào)

地板
ID:155507 發(fā)表于 2017-10-26 00:45 | 只看該作者
就如英語(yǔ)和漢語(yǔ)的區(qū)別,你的母語(yǔ)是漢語(yǔ),就如單片機(jī)的母語(yǔ)是匯編語(yǔ)言。英語(yǔ)和C語(yǔ)言就是一種表達(dá)語(yǔ)言

C語(yǔ)言是當(dāng)今最流行的程序設(shè)計(jì)語(yǔ)言之一,它的功能豐富、表達(dá)力強(qiáng)、使用靈活方便、應(yīng)用面廣、目標(biāo)程序高、可植入性好,既有高級(jí)語(yǔ)言的特點(diǎn),又有低級(jí)語(yǔ)言的許多特點(diǎn),適合作為系統(tǒng)描述語(yǔ)言,既可以用來(lái)編寫(xiě)系統(tǒng)軟件,也可以用來(lái)編寫(xiě)應(yīng)用軟件。

匯編的低級(jí)別語(yǔ)言,優(yōu)點(diǎn)在于能夠?qū)τ布Y源進(jìn)行準(zhǔn)確的操作,比如寄存器的使用和數(shù)據(jù)存儲(chǔ)的具體位置。能充分運(yùn)用硬件資源
缺點(diǎn)當(dāng)然是編寫(xiě)起來(lái)麻煩,程序閱讀麻煩
而c則相反,它都是編譯器自動(dòng)分配說(shuō)需寄存器和數(shù)據(jù)存儲(chǔ)單元,因此編寫(xiě)者不能分配
但c語(yǔ)法簡(jiǎn)單,程序可讀性強(qiáng)
回復(fù)

使用道具 舉報(bào)

5#
ID:155507 發(fā)表于 2017-10-26 00:45 | 只看該作者
匯編語(yǔ)言屬低級(jí)語(yǔ)言,而C語(yǔ)言是高級(jí)語(yǔ)言,所謂高級(jí)語(yǔ)言就是更容易被人們理解的語(yǔ)言,其實(shí)匯編語(yǔ)言能實(shí)現(xiàn)的功能往往也能通過(guò)C語(yǔ)言來(lái)實(shí)現(xiàn),甚至用C語(yǔ)言會(huì)更簡(jiǎn)單,但是匯編語(yǔ)言有一個(gè)優(yōu)勢(shì)是其他任何語(yǔ)言所不具備的,這也是為什么匯編語(yǔ)言一直能在編程中占有一席之地,那就是匯編語(yǔ)言對(duì)硬件的直接控制,也就是說(shuō)他能直接對(duì)硬件操作,可以繞過(guò)操作系統(tǒng)等等之類。雖然有的領(lǐng)域其他編程也能實(shí)現(xiàn),但是在很多地方往往是匯編語(yǔ)言能更加簡(jiǎn)單,更加完美的完成。而且學(xué)好了匯編語(yǔ)言你就能對(duì)cpu是怎么工作的有了清晰的認(rèn)識(shí),所以學(xué)計(jì)算機(jī)專業(yè)的一般都會(huì)學(xué)匯編語(yǔ)言。
回復(fù)

使用道具 舉報(bào)

6#
ID:243003 發(fā)表于 2017-10-26 01:21 | 只看該作者
學(xué)C吧,匯編現(xiàn)在開(kāi)發(fā)更底層
回復(fù)

使用道具 舉報(bào)

7#
ID:213173 發(fā)表于 2017-10-26 06:34 | 只看該作者
開(kāi)始自學(xué)匯編語(yǔ)言,十多天還一頭霧水,決定放棄改學(xué)C語(yǔ)言,一個(gè)星期就能寫(xiě)簡(jiǎn)單程序,十多天就上陣實(shí)戰(zhàn)。誰(shuí)優(yōu)誰(shuí)劣不敢評(píng)說(shuō),C語(yǔ)言容易上手這一點(diǎn)是肯定的。
回復(fù)

使用道具 舉報(bào)

8#
ID:59768 發(fā)表于 2017-10-26 08:03 | 只看該作者
用匯編的都是大牛,C移植性好
回復(fù)

使用道具 舉報(bào)

9#
ID:242770 發(fā)表于 2017-10-26 08:28 | 只看該作者
c語(yǔ)言在編譯的時(shí)候會(huì)進(jìn)行匯編,轉(zhuǎn)換為機(jī)器指令,我來(lái)說(shuō)說(shuō)兩種語(yǔ)言的選擇,首先,大多數(shù)工作兩種語(yǔ)言都可以實(shí)現(xiàn),并且C語(yǔ)言簡(jiǎn)單,易用,易維護(hù),其次,在某些特定的操作,比如發(fā)脈沖,C語(yǔ)言太難了吧,幾乎不可能。
回復(fù)

使用道具 舉報(bào)

10#
ID:123289 發(fā)表于 2017-10-26 09:56 | 只看該作者
C是個(gè)編程平臺(tái),當(dāng)你用C寫(xiě)好程序后,平臺(tái)會(huì)把你的程序編譯成匯編,而后再生成運(yùn)行代碼。
可見(jiàn)C浮在匯編的上面!
為何要多此一舉呢:就如同,為何不直接寫(xiě)代碼,而寫(xiě)匯編一樣。更方便你理解。
如果你有能力直接寫(xiě)匯編,當(dāng)然比C更直接,也省去了C的條條框框。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表