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

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

  回應
 
主題工具
yumi
*停權中*
 
yumi的大頭照
 

加入日期: Oct 2001
文章: 2,765
組合語言

最近在學組合語言,但是實在搞不太懂這種程式該怎麼弄懂。。。
請各位高手給點建議唄。。。
     
      
舊 2008-05-27, 08:00 PM #1
回應時引用此文章
yumi離線中  
snoopy1029
Silent Member
 
snoopy1029的大頭照
 

加入日期: May 2005
文章: 0
引用:
作者yumi
最近在學組合語言,但是實在搞不太懂這種程式該怎麼弄懂。。。
請各位高手給點建議唄。。。

當初退伍前應徵到Notebook BIOS engineer的工作
那時候說真的
程式完全不會
組合語言的MOV AX,BX
是誰move給誰
我也搞不清楚
那時公司面試的主管打電話問我要不要過去上班
我問他如何加強assembly coding的能力
他說去買一本施威銘的書看看吧
那時我買了一本施的書
另一本是誰忘了
花了一個月把裡頭所有程式看懂
一個月後我已經可以寫出類似RU(Register utility)的tool了
但一年多之後
我還是放棄了軟體這條路
真的沒有慧根
所以又回到硬體這條路上
如果你真的對組合語言有興趣
多看人家寫的code真的有幫助
但是也要學著自己寫書上的範例
有花時間就會看到成果
 
__________________
同花打不打的過FULL HOUSE
舊 2008-05-27, 08:23 PM #2
回應時引用此文章
snoopy1029離線中  
abc630
Power Member
 

加入日期: Feb 2003
文章: 601
沒錯,多花時間,累積經驗。

That's all
舊 2008-05-27, 08:26 PM #3
回應時引用此文章
abc630離線中  
erai
Basic Member
 

加入日期: Jan 2006
文章: 22
1. 多做練習(就是把書本的範例自己寫一遍,不是照抄哦)
2. 把自己當成是CPU

參考看看
舊 2008-05-27, 09:45 PM #4
回應時引用此文章
erai離線中  
rvnk
Major Member
 
rvnk的大頭照
 

加入日期: Oct 2003
文章: 190
在高職時第一次學8086組合語言
班上幾乎全軍覆沒,我是少數幾個還活著的

實習時是寫8051,同樣也是組語,但情況就好多了
除了老師教學方式較好外,51的架構簡單的多

退伍後去寫PIC,和51比起來指令更少
學起來更快,目前寫BLDC Fan是最讓我最有成就感
主要是在用MCU控制Fan
基本上用C是寫不出來的


寫組語我的作法是把也是把自已當作Cpu
把一件事,想成是由許多"小到不能再小的步驟"去組成
舊 2008-05-27, 10:36 PM #5
回應時引用此文章
rvnk離線中  
aston
*停權中*
 
aston的大頭照
 

加入日期: May 2004
文章: 79
引用:
作者rvnk
在高職時第一次學8086組合語言
班上幾乎全軍覆沒,我是少數幾個還活著的

實習時是寫8051,同樣也是組語,但情況就好多了
除了老師教學方式較好外,51的架構簡單的多

退伍後去寫PIC,和51比起來指令更少
學起來更快,目前寫BLDC Fan是最讓我最有成就感
主要是在用MCU控制Fan
基本上用C是寫不出來的


寫組語我的作法是把也是把自已當作Cpu
把一件事,想成是由許多"小到不能再小的步驟"去組成


PIC的組合語言真是好物啊!
RISC架構,指令很少,讓你學的快,
但是要學的巧,就真的要花點心思,
用那些少許的指令,要做出一些複雜的功能,
就是看出功力的時候。
舊 2008-05-27, 10:51 PM #6
回應時引用此文章
aston離線中  
ice568
*停權中*
 
ice568的大頭照
 

加入日期: Jul 2004
文章: 6
引用:
作者yumi
最近在學組合語言,但是實在搞不太懂這種程式該怎麼弄懂。。。
請各位高手給點建議唄。。。

要懂其實很容易,真的就像大大所說的,將自己當成CPU...
簡言之,當你下一個動作時,你必需思考它的指令在做什麼.

換言之,你必需先了解硬體,硬體有哪些東西是你可以用的(reg.,ram,io...)
接著,你必需了解硬體上的軟體部份(data flow,原廠是否有提供開發套件...)
然後才是組語開發的部份

所以本書在教 大部份都會從 ,硬體架構->週邊->資料格式->怎麼寫->範例...這樣教

組語比較難的是 看懂別人的程式,如果整個架構沒有注釋,可以說和逆向工程差不多.
而比較簡單的是那種教學程式,你可以直接拿來套用.

入門 建議從intel 的x86系列下手.
舊 2008-05-28, 01:17 AM #7
回應時引用此文章
ice568離線中  
MrHermes
*停權中*
 
MrHermes的大頭照
 

加入日期: Aug 2005
文章: 102
施威銘那本黑色的... 之前翻到快背起來了.
後來覺得好像卡住了, 因為沒有其它硬體的資料, 這些基本的指令根本搞不出啥名堂...
當OS 由DOS 進化到WINDOWS 後, 組語更是無用武之地了, 單純寫程式不會去碰到硬體的,
還是學其它語言吧...
舊 2008-05-29, 01:46 AM #8
回應時引用此文章
MrHermes離線中  
okdwnk
Major Member
 

加入日期: Nov 2005
文章: 205
組合語言,算是學起來墊底的吧.......
會組合語言之後,其他的軟體,學起來會輕鬆許多......
舊 2008-05-29, 02:12 AM #9
回應時引用此文章
okdwnk離線中  
果汁吧店長
*停權中*
 

加入日期: Aug 2006
文章: 0
組合語言的好處

在於~~~~

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

只有cpu 才看得懂


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

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

為什麼呢?

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

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

因為懶~~~~~~

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


所以,要學會組合語言,不難。但是~~~~~記得要加註解哦~
舊 2008-05-29, 04:55 PM #10
回應時引用此文章
果汁吧店長離線中  


    回應


POPIN
主題工具

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

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



所有的時間均為GMT +8。 現在的時間是11:53 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。