|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
編寫單片機程序,還有多少人在用匯編? |
| 作者:zjyyl 欄目:單片機 |
從開始就是學(xué)的匯編,一直用的也是匯編,但是看到越來越多的人在用c了,匯編還有存在的價值么?還有多少人在用匯編?迷茫中,要不要學(xué)學(xué)c語言? |
| 2樓: | >>參與討論 |
| 作者: yewuyi 于 2006/6/29 17:19:00 發(fā)布:
我大約70%的程序用匯編! |
|
| 3樓: | >>參與討論 |
| 作者: computer00 于 2006/6/29 18:20:00 發(fā)布:
想學(xué)就學(xué)唄,別管它有沒有用,自己想學(xué)就學(xué)。 |
|
| 4樓: | >>參與討論 |
| 作者: xwj 于 2006/6/29 18:30:00 發(fā)布:
匯編和C都要學(xué),特別是初學(xué)者一定要學(xué)匯編 這樣才能理解軟件和硬件間得關(guān)系 |
|
| 5樓: | >>參與討論 |
| 作者: netscaner 于 2006/6/29 18:37:00 發(fā)布:
潛力貼 學(xué)匯編是肯定要的。要不然怎么debug,怎么優(yōu)化程序呢? 用不用匯編寫程序就要看需要了。 |
|
| 6樓: | >>參與討論 |
| 作者: conwh 于 2006/6/29 18:43:00 發(fā)布:
工控還是用匯編好,儀表使用C比較方便計算 |
|
| 7樓: | >>參與討論 |
| 作者: 21ic2008 于 2006/6/29 18:45:00 發(fā)布:
回復(fù) 無所謂 |
|
| 8樓: | >>參與討論 |
| 作者: 衷政偉 于 2006/6/29 18:57:00 發(fā)布:
匯編和C有時要配合用 匯編和C有時要配合用 |
|
| 9樓: | >>參與討論 |
| 作者: 一級菜鳥 于 2006/6/29 19:09:00 發(fā)布:
俺一直用匯編,最大的51匯編代碼編譯后56K 目前根據(jù)情況,使用高層用C,底層調(diào)用匯編,因為積累了很多匯編子程序,這個方法高效實用 |
|
| 10樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/6/29 19:21:00 發(fā)布:
我已經(jīng)基本轉(zhuǎn)入C 不過,還有部分子程序還是在使用匯編,那是寫C 的軟肋,而且是程序中經(jīng)常調(diào)用,對執(zhí)行速度要求比較高的子程序段. 不過, KEIL C51 對匯編的支持比較弱, 使用匯編程序,會影響 C 程序優(yōu)化,比較納悶 |
|
| 11樓: | >>參與討論 |
| 作者: IceAge 于 2006/6/29 20:46:00 發(fā)布:
我也還在用TI dsp 的匯編,原因是算法的運行效率。 你可以不用匯編,但不能不懂匯編。不懂匯編的人不會成為 c/c++ 的真正高手 |
|
| 12樓: | >>參與討論 |
| 作者: xddzccn 于 2006/6/29 20:49:00 發(fā)布:
頂C語言 ! 頂C語言 ! |
|
| 13樓: | >>參與討論 |
| 作者: mxh0506 于 2006/6/29 21:53:00 發(fā)布:
做單片機不可能不用匯編 匯編和C經(jīng)常是混合使用的 任何一個C編譯器的說明文檔里都少不了C與匯編的接口的說明 如果只用其中一種,有時會給自己找麻煩 樓上朋友的這個觀點好象有點問題 "KEIL C51 對匯編的支持比較弱, 使用匯編程序,會影響 C 程序優(yōu)化" 應(yīng)該是沒有把C和匯編混合編程搞明白吧? 只有行間匯編才會有此問題.KEIL的匯編支持還是不錯的 |
|
| 14樓: | >>參與討論 |
| 作者: conwh 于 2006/6/29 21:57:00 發(fā)布:
還有沒有比C更容易上手的編程方法? 你希望是怎樣的結(jié)構(gòu)形式? |
|
| 15樓: | >>參與討論 |
| 作者: fushaobing 于 2006/6/30 9:47:00 發(fā)布:
看用在什么場合 如果是消費類電子和小家電,比較看中成本,一般用匯編。比如我就是做消費類電子,用三星的MCU,程序一般就是4K以內(nèi),所以公司舍不得讓我們用C來寫。 |
|
| 16樓: | >>參與討論 |
| 作者: 后學(xué) 于 2006/6/30 12:18:00 發(fā)布:
匯編 |
|
| 17樓: | >>參與討論 |
| 作者: shyygy 于 2006/6/30 16:57:00 發(fā)布:
~~~~~~~~~~~~ 搞硬件是一定得學(xué)好了匯編的. 當然用與不用,得看實際了!!! |
|
| 18樓: | >>參與討論 |
| 作者: dengm 于 2006/6/30 17:41:00 發(fā)布:
我用 |
|
| 19樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/6/30 17:56:00 發(fā)布:
感謝mxh0506拍磚指導(dǎo) 不過,也許您沒有注意到,比如變量分配 keil C 會盡量分配局部變量到8個寄存器中, 但是,如果其中調(diào)用了一下匯編子程序,編譯器就會認為你改變了所有寄存器,而不會再把局部變量分配給寄存器, 而根本不理睬匯編程序到底變了寄存器沒有. 而 C 程序間就不會這樣啦,所有說對匯編的支持不夠啊 |
|
| 20樓: | >>參與討論 |
| 作者: kingsr 于 2006/6/30 19:02:00 發(fā)布:
^_^ 先學(xué)匯編,再C, |
|
| 21樓: | >>參與討論 |
| 作者: weiglink 于 2006/6/30 21:53:00 發(fā)布:
除非只玩8位機,否則不學(xué)c沒戲 |
|
| 22樓: | >>參與討論 |
| 作者: ocon 于 2006/6/30 22:04:00 發(fā)布:
每隔一段時間就會有低手跳出來提這個問題:) 用匯編有利于降低硬件成本,用C則利于降低軟件成本,至于怎樣才能降低產(chǎn)品總體成本,那就得具體問題具體分析了。 |
|
| 23樓: | >>參與討論 |
| 作者: 高勇 于 2006/7/1 1:39:00 發(fā)布:
互補 有的地方C語言無法完成,必須用匯編,但在大多數(shù)場合下使用匯編編程時效率會低些,但程序運行效率卻很高。 |
|
| 24樓: | >>參與討論 |
| 作者: pyc0116 于 2006/7/1 9:20:00 發(fā)布:
我也在用 |
|
| 25樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/7/1 20:40:00 發(fā)布:
如果軟件到一定規(guī)模 匯編的效率也未必比 C 有多高了, 因為編譯器優(yōu)化出的代碼可能比普通的編程者的匯編可能更強 |
|
| 26樓: | >>參與討論 |
| 作者: mxh0506 于 2006/7/1 22:08:00 發(fā)布:
to AIRWILL: 不好意思,只是瞎說兩句,交流一下 我認為KEIL分配局部變量時不是"盡量分配局部變量到8個寄存器中",而是盡量分配到低128字節(jié)中,也就是C51中DATA型變量所在的區(qū)域,在此區(qū)域內(nèi)的存儲器操作速度上是一樣的.根據(jù)KEIL提供的手冊: Assembler functions may change all register contents in the currently selected register bank as well as the contents of the ACC, B, DPTR, and PSW registers. When invoking a C function from assembly, assume that these registers are destroyed by the C function that is called. 在調(diào)用過子程序后確實要假設(shè)當前寄存器組中的所有內(nèi)容都被Callee函數(shù)更改了,但這不僅僅是對于匯編子程序,C的也一樣(我想,調(diào)用庫函數(shù)時也應(yīng)如此吧). 不過Caller函數(shù)中的局部變量可以分配到該組以外的未用空間中去,只要還有足夠的資源可用,效率是不受影響的。 |
|
| 27樓: | >>參與討論 |
| 作者: AIRWILL 于 2006/7/3 18:12:00 發(fā)布:
to:mxh0506 很高興您這個認真的態(tài)度,和很喜歡您這種說明問題引用專業(yè)資料的做事風(fēng)格. 也很高興,能和您討論這樣一個問題. 不過,我覺得,您的說法中有 2 個地方是有出人的 1. 在調(diào)用過匯編子程序后會假設(shè)當前寄存器組中的所有內(nèi)容都被Callee函數(shù)更改,但如果是 C 子程序,編譯器會查明改變的寄存器和未改變的寄存器, 從而使調(diào)用程序能使用未變的寄存器. 2. 雖然,內(nèi)128byte 的局部變量的效率很高,但比寄存器,還是有點差異的. 而且,節(jié)約拘禁的128byte, 能寄存器,當然是更好的啦.您說是嗎 |
|
| 28樓: | >>參與討論 |
| 作者: peater 于 2006/7/3 18:26:00 發(fā)布:
都要學(xué)習(xí) 學(xué)習(xí)了匯編才會更加了解C,寫出更加優(yōu)秀的匯編程序。 在關(guān)鍵的代碼中偶還是比較喜歡匯編的,效率較高。 不過在一個系統(tǒng)中,大部分的代碼我還是喜歡用C,畢竟易讀易看,而且開發(fā)效率高一點 |
|
| 29樓: | >>參與討論 |
| 作者: 邯山居士 于 2006/7/3 23:01:00 發(fā)布:
呵呵,有收獲! |
|
| 30樓: | >>參與討論 |
| 作者: XZL 于 2006/7/4 8:07:00 發(fā)布:
我一直用匯編 51/PIC/三星/HT/EMC/430....我一直在用匯編 |
|
| 31樓: | >>參與討論 |
| 作者: bs1234 于 2006/7/4 8:17:00 發(fā)布:
學(xué)C吧,我一直在學(xué)C,匯編只是能看懂就行 |
|
| 32樓: | >>參與討論 |
| 作者: bosszc 于 2006/7/4 13:40:00 發(fā)布:
匯編還是有不少優(yōu)點的,C的優(yōu)點與它不在同一方面, 兩者各有優(yōu)勢,可互補. |
|
| 33樓: | >>參與討論 |
| 作者: densy 于 2006/7/4 21:24:00 發(fā)布:
記住 兩個都要學(xué),這是最基本要求,不難. |
|
| 34樓: | >>參與討論 |
| 作者: qlqwl 于 2006/7/4 22:02:00 發(fā)布:
學(xué)習(xí)ing |
|
| 35樓: | >>參與討論 |
| 作者: dandywang 于 2006/7/4 22:06:00 發(fā)布:
這問題有討論的必要嗎??? |
|
| 36樓: | >>參與討論 |
| 作者: hsp8031 于 2006/7/4 22:41:00 發(fā)布:
嘿嘿!一個永恒的話題. 擅于C者是技人.精于匯編是藝人.二者都不長充其量只是個匠人! * - 本貼最后修改時間:2006-7-4 22:47:33 修改者:hsp8031 |
|
| 37樓: | >>參與討論 |
| 作者: bpcsungod 于 2006/7/5 10:04:00 發(fā)布:
實際情況實際分析 到底是用C還是匯編要看實際工程的大小,工程小的話最好還是選擇匯編,反之選用匯編,單著也不是絕對的. |
|
| 38樓: | >>參與討論 |
| 作者: martial 于 2006/7/5 10:12:00 發(fā)布:
我還沒用過C |
|
| 39樓: | >>參與討論 |
| 作者: mxh0506 于 2006/7/5 12:27:00 發(fā)布:
to AIRWILL: 很高興能與您共同討論問題,看來我們對待問題還是有不少共同點的 希望今后能有更多機會一起討論,多多向您學(xué)習(xí). |
|
| 40樓: | >>參與討論 |
| 作者: 20034205 于 2006/7/5 19:51:00 發(fā)布:
同意 同意樓上的! |
|
| 41樓: | >>參與討論 |
| 作者: fen_mo 于 2006/7/6 0:27:00 發(fā)布:
我大約99.999%用C |
|
| 42樓: | >>參與討論 |
| 作者: McuPlayer 于 2006/7/6 10:26:00 發(fā)布:
潛力帖 |
|
| 43樓: | >>參與討論 |
| 作者: mullife 于 2006/7/14 16:27:00 發(fā)布:
我還在用匯編 |
|
| 44樓: | >>參與討論 |
| 作者: txclp 于 2006/7/14 16:40:00 發(fā)布:
單片機 用C不錯 用匯編也很經(jīng)常 最好還是懂點匯編! |
|
| 45樓: | >>參與討論 |
| 作者: johnlj 于 2006/7/14 16:52:00 發(fā)布:
c加匯編,方為萬全之策 |
|
| 46樓: | >>參與討論 |
| 作者: 平常人 于 2006/7/14 17:29:00 發(fā)布:
同意,“C加匯編,方為萬全之策” 沒有一個C編譯可以產(chǎn)生能夠與匯編媲美的代碼,不論在代碼的長度上還是在代碼的速度上。 根據(jù)我的經(jīng)驗,代碼長度上講,編譯出的代碼大約是匯編代碼的1.2~1.5倍;從代碼的速度上講就差得比較大了,有時是一點幾倍,有時是十幾、幾十倍。 在做單片機的程序時,若程序量不大,可以考慮用匯編;程序量較大時,混用C和匯編,算法部分用C,而需要速度的部分用匯編。 |
|
| 47樓: | >>參與討論 |
| 作者: pilibeibei 于 2006/7/15 10:00:00 發(fā)布:
C語言經(jīng)常要和匯編一起用的 對外圍模塊的操作相信大多數(shù)工程師還是要用匯編的吧 |
|
| 48樓: | >>參與討論 |
| 作者: tonydesign 于 2006/7/15 19:34:00 發(fā)布:
學(xué)啊。很有用的,但是也不能扔了匯編 很多時候還是很有用的。 |
|
| 49樓: | >>參與討論 |
| 作者: 微風(fēng) 于 2006/7/15 20:38:00 發(fā)布:
討厭用匯編前幾年用匯編用得多,C語言編程能力都沒得到很好鍛煉 后來要惡補C語言 |
|
| 50樓: | >>參與討論 |
| 作者: 工控秀才 于 2006/7/15 22:06:00 發(fā)布:
繼續(xù)匯編 看什么類型的MCU了,有些MCU不支持C或其他相對高級的語言,只能匯編了,如果是51,還是C比較方便一點! |
|
| 51樓: | >>參與討論 |
| 作者: liu40231 于 2006/7/15 22:19:00 發(fā)布:
不學(xué)C語言是不行的 一句話,不學(xué)C語言是不行的! |
|
| 52樓: | >>參與討論 |
| 作者: qjy_dali 于 2006/7/16 15:20:00 發(fā)布:
我最多為了效率加點內(nèi)聯(lián)匯編。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |