![]() |
||
|
Regular Member
![]() ![]() 加入日期: Feb 2003 您的住址: Taiwan
文章: 91
|
引用:
夯ㄚ萊ㄟ.... 現在週遭都是寫C的,寫Assembly越來越少,要準備轉行了. ![]() |
||||||||
|
|
|
*停權中*
加入日期: May 2004
文章: 79
|
引用:
中肯! 自己寫的組合程式,過一段時間後, 常常要回想一下,才知道自己當時為什麼這樣寫。 這也要怪自己懶得寫註解, 因為有時候工作一趕,連寫程式的時間都沒有,那還有心思寫註解。 |
|||
|
|
|
Silent Member
加入日期: Mar 2007
文章: 0
|
很簡單阿
多寫 多看 上網找IA32的spec看第二集有組語的指令集可以參考 |
|
|
|
Silent Member
加入日期: Mar 2008
文章: 0
|
我是苦命的工程師, Assembly算一算也有寫了近十年,
從最早的4bit MCU 到 8051 到 RISC 到 DSP..... 有時候組合語言是在某些注重效能的特殊應用上是不可取代的, 要把它學好真的要靠對CPU架構的瞭解才有辦法. 當你cpu架構通了後, 換晶片只是換一種寫法, 換一種指令代碼, 只要熟析該晶片特別Offer的功能和用法就好了. 不然當初3~6個月就要新學一顆mcu並把案子做完, 一疊的原文資料會把人弄瘋的. |
|
|
|
Power Member
![]() ![]() 加入日期: Jan 2001 您的住址: Taipei
文章: 503
|
以前讀書時上到組合語言的課
我一直覺得,其實組合語言是外星人的一個陰謀 發明來整地球人的
__________________
|
|
|
|
Advance Member
![]() ![]() 加入日期: Nov 2002 您的住址: 台東
文章: 319
|
這讓我想到在學校時
當時有教TURBO C 跟 8051(用組合語言) 但是我怎樣想就是想不通C的寫作方式.只會用printf 使用組合語言寫8051卻有辦法讓他運作. 我覺得還是要看個人吧.
__________________
|
|
|
|
*停權中*
加入日期: Feb 2003
文章: 505
|
當初為了學組合語言
買了一本施威銘的組合語言實務和松崗出的... 書本前面幾張被我翻到黃掉,還是學不起來 即使知道一行指令,但一整串都不知道要做什麼 對於一個數理邏輯都不行的我來說.....可能要天賦吧... |
|
|
|
Amateur Member
![]() 加入日期: Jan 2004 您的住址: 彰化
文章: 35
|
x86還有一個叫「保護模式」東西,這個東西早在386就有了。
但是國內組合語言書本卻很少提到它,大多都是在講DOS的中斷呼叫、BIOS呼叫。 不過我是認為學BIOS呼叫是比較有用,DOS中斷呼叫(int 21)的話呢… 換個作業系統,int 21就失靈了。 ![]() 還有像是mmx、sse、3DNow,這些東西要翻intel or amd的CPU手冊才知道。 ![]() |
|
|
|
*停權中*
加入日期: Nov 2000 您的住址: Taipei,ROC
文章: 573
|
引用:
286就有保護模式了,只是 286 的模式切換非常花時間,所以效率不好。386一出來,當時軟體都跳去用386保護模式了,286就給丟了。 386 增加的是在保護模式下運作的 v86 模式. |
|
|
|
|
Major Member
![]() 加入日期: Aug 2001
文章: 211
|
引用:
以我的印象,我記得 Protected Mode 是從 286 就有的,只是 286 時的 Protected Mode 設計得很爛,所以大家都當做286沒保護模式,一直到 386 之後的保護模式才算是較為完整,也才有人針對 386 保護模式設計軟體,如當時紅極一時的 Watcom C 的 DOS4GW.EXE,第一代的 Doom 其實就是靠這東西解決大解析圖片翻轉的問題,如果老玩家有印象,應該記得最早沒使用 DOS4GW.EXE 的 Demo 版本是如何的慢。 此外,以前最有名的軟體除錯器 S-ICE 其實也是利用 386 的保護模式機制的軟體之一,因此以前做保護有一些手段來防 S-ICE 例如把 Debug Register 拿來用。 還有,中斷的分類方式並不是 BIOS 與 DOS 這種分法,而應該是 Hardware, Software, 是否為 NMI 等分法... 組合語言真的沒想像中的難,我覺得組合語言不會比 BASIC 難到哪去,debug 開下去,有耐心點 trace 觀察暫存器變化跟用力查資料,你會發現組合語言真的不難。 我覺得難的地方是電腦系統架構、作業系統、硬體規格與演算法,組合語言反而是其次。 此外,以我碰過的組合語言來說,x86 的組合語言比起其他 RISC (MIPS, ARM...) 的組語來說,算是比較複雜的。 如果是非必要,其實用 C 來寫程式會比較有效率,只要你對 C 夠熟,用C也不見得會比組合語言慢到哪去。
__________________
滿招損 謙受益 |
|
|
|