PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
mirage5e
Regular Member
 
mirage5e的大頭照
 

加入日期: Feb 2003
您的住址: Taiwan
文章: 91
引用:
作者果汁吧店長
組合語言的好處
在於~~~~
寫的時候看得懂,隔個三天就不懂~~~~~再放個一個星期~~~
只有cpu 才看得懂


夯ㄚ萊ㄟ....
現在週遭都是寫C的,寫Assembly越來越少,要準備轉行了.
     
      
舊 2008-05-29, 05:35 PM #11
回應時引用此文章
mirage5e離線中  
aston
*停權中*
 
aston的大頭照
 

加入日期: May 2004
文章: 79
Thumbs up

引用:
作者果汁吧店長
組合語言的好處

在於~~~~

寫的時候看得懂,隔個三天就不懂~~~~~再放個一個星期~~~

只有cpu 才看得懂


基本上,只要了解原理就不難。但是~~~這種事是要靠天份的~

像我,如果有 c 可以用,那怕是轉換率太差,我也要用 C

為什麼呢?

因為,根據一位有十來年的程式設計師私下告訴我

寫程式加註解~~~~那是嘴巴上說說,實際上是不會出現的~~~

因為懶~~~~~~

而組合語言呢,一旦沒有了註解,嘿嘿嘿~~~~很快你就看不懂了


所以,要學會組合語言,不難。但是~~~~~記得要加註解哦~


中肯!

自己寫的組合程式,過一段時間後,
常常要回想一下,才知道自己當時為什麼這樣寫。
這也要怪自己懶得寫註解,
因為有時候工作一趕,連寫程式的時間都沒有,那還有心思寫註解。
 
舊 2008-05-29, 05:52 PM #12
回應時引用此文章
aston離線中  
jkling
Silent Member
 

加入日期: Mar 2007
文章: 0
很簡單阿
多寫
多看
上網找IA32的spec看第二集有組語的指令集可以參考
舊 2008-05-29, 06:00 PM #13
回應時引用此文章
jkling離線中  
PCDVD_KING
Silent Member
 

加入日期: Mar 2008
文章: 0
我是苦命的工程師, Assembly算一算也有寫了近十年,

從最早的4bit MCU 到 8051 到 RISC 到 DSP.....

有時候組合語言是在某些注重效能的特殊應用上是不可取代的,

要把它學好真的要靠對CPU架構的瞭解才有辦法.

當你cpu架構通了後, 換晶片只是換一種寫法, 換一種指令代碼,

只要熟析該晶片特別Offer的功能和用法就好了.

不然當初3~6個月就要新學一顆mcu並把案子做完,

一疊的原文資料會把人弄瘋的.
舊 2008-05-29, 06:05 PM #14
回應時引用此文章
PCDVD_KING離線中  
Devil
Power Member
 

加入日期: Jan 2001
您的住址: Taipei
文章: 503
以前讀書時上到組合語言的課
我一直覺得,其實組合語言是外星人的一個陰謀
發明來整地球人的
__________________
舊 2008-05-29, 06:43 PM #15
回應時引用此文章
Devil離線中  
1024BITS
Advance Member
 
1024BITS的大頭照
 

加入日期: Nov 2002
您的住址: 台東
文章: 319
這讓我想到在學校時

當時有教TURBO C 跟 8051(用組合語言)
但是我怎樣想就是想不通C的寫作方式.只會用printf
使用組合語言寫8051卻有辦法讓他運作.
我覺得還是要看個人吧.
__________________
舊 2008-05-29, 07:46 PM #16
回應時引用此文章
1024BITS離線中  
qqa177
*停權中*
 

加入日期: Feb 2003
文章: 505
當初為了學組合語言
買了一本施威銘的組合語言實務和松崗出的...
書本前面幾張被我翻到黃掉,還是學不起來
即使知道一行指令,但一整串都不知道要做什麼
對於一個數理邏輯都不行的我來說.....可能要天賦吧...
舊 2008-05-29, 10:48 PM #17
回應時引用此文章
qqa177離線中  
jenzh
Amateur Member
 

加入日期: Jan 2004
您的住址: 彰化
文章: 35
x86還有一個叫「保護模式」東西,這個東西早在386就有了。

但是國內組合語言書本卻很少提到它,大多都是在講DOS的中斷呼叫、BIOS呼叫。

不過我是認為學BIOS呼叫是比較有用,DOS中斷呼叫(int 21)的話呢…

換個作業系統,int 21就失靈了。


還有像是mmx、sse、3DNow,這些東西要翻intel or amd的CPU手冊才知道。
舊 2008-05-30, 12:17 AM #18
回應時引用此文章
jenzh離線中  
RogerShih
*停權中*
 
RogerShih的大頭照
 

加入日期: Nov 2000
您的住址: Taipei,ROC
文章: 573
引用:
作者jenzh
x86還有一個叫「保護模式」東西,這個東西早在386就有了。

但是國內組合語言書本卻很少提到它,大多都是在講DOS的中斷呼叫、BIOS呼叫。

不過我是認為學BIOS呼叫是比較有用,DOS中斷呼叫(int 21)的話呢…

換個作業系統,int 21就失靈了。


還有像是mmx、sse、3DNow,這些東西要翻intel or amd的CPU手冊才知道。


286就有保護模式了,只是 286 的模式切換非常花時間,所以效率不好。386一出來,當時軟體都跳去用386保護模式了,286就給丟了。

386 增加的是在保護模式下運作的 v86 模式.
舊 2008-05-30, 01:34 AM #19
回應時引用此文章
RogerShih離線中  
darkangel
Major Member
 
darkangel的大頭照
 

加入日期: Aug 2001
文章: 211
引用:
作者jenzh
x86還有一個叫「保護模式」東西,這個東西早在386就有了。

但是國內組合語言書本卻很少提到它,大多都是在講DOS的中斷呼叫、BIOS呼叫。

不過我是認為學BIOS呼叫是比較有用,DOS中斷呼叫(int 21)的話呢…

換個作業系統,int 21就失靈了。


還有像是mmx、sse、3DNow,這些東西要翻intel or amd的CPU手冊才知道。


以我的印象,我記得 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也不見得會比組合語言慢到哪去。
__________________
滿招損 謙受益
舊 2008-05-30, 01:41 AM #20
回應時引用此文章
darkangel離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是08:46 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。