查看完整版本 : 如何入門匯編語言

haloPaul 2018-12-7 07:42 PM

如何入門匯編語言

大陸叫做匯編語言,香港台灣叫做組合語言,英文叫做assembly。

我記得很久以前有個電腦高手說過,掌握了匯編語言就能透徹了解電腦的運作原理。

但是,我看過下匯編語言的書籍,好像很難呀,該如何入門:smile_27:

利申:目前正學習C語言

有諗辦法 2018-12-7 08:03 PM

我諗學 assembly 都未必了解得晒電腦運作,因為 assembly 都要經 compiler 先可以執行。不如直接睇 CPU 嘅 instruction set 啦,就會好清楚每一個機械指令嘅執行方法 …

[[i] 本帖最後由 有諗辦法 於 2018-12-9 08:46 PM 編輯 [/i]]

動感超人打怪獸 2018-12-7 08:24 PM

如果你仲後生
大把時間就去吧:smile_42:

鄉貢仁 2018-12-8 08:28 AM

低階語言, 你一定要好熟悉電子組件,
老實講, 以現今咁複雜的電腦架構,
的確是非常困難, 以前就比較容易,
但都必須懂電子工桯先可以上手.
:smile_27:

jasonchan35 2018-12-9 02:50 PM

x86 Assembly Basic #001 - MASM setup (廣東話, Cantonese) [簡單黎講 C++]
[url=https://www.youtube.com/watch?v=d0TuSRBAgaU&list=PLeGk08zVu455mkj5gXJAWMgbjiEVLVjN-]https://www.youtube.com/watch?v=d0TuSRBAgaU&list=PLeGk08zVu455mkj5gXJAWMgbjiEVLVjN-[/url]

希望幫到你, 唔明可以留言, 或者 Facebook inbox 問

像流星 2018-12-11 01:35 PM

現在就算你去寫MCU都唔會用assembly, 不要再花時間學。

darigold 2018-12-11 02:39 PM

其實今時今日的 assembly 和 電子工程其實已經冇乜關係。
我估好多 instruction 都係被 firmware interpret 而不是直接 hardware circuit。
你只需要理解 instruction set architecture 就得。

動感超人打怪獸 2018-12-11 09:14 PM

[quote]原帖由 [i]darigold[/i] 於 2018-12-11 02:39 PM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=491839201&ptid=27897705][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]
其實今時今日的 assembly 和 電子工程其實已經冇乜關係。
我估好多 instruction 都係被 firmware interpret 而不是直接 hardware circuit。
你只需要理解 instruction set architecture 就得。 ... [/quote]
咁RTL同CPU既instruction set有咩關係?
RTL又係咪姐係CPU入面既Microcode?

darigold 2018-12-12 10:12 AM

[quote]原帖由 [i]動感超人打怪獸[/i] 於 2018-12-11 09:14 PM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=491855465&ptid=27897705][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]

咁RTL同CPU既instruction set有咩關係?
RTL又係咪姐係CPU入面既Microcode? [/quote]
[taguid=5389022]hamsterman[/taguid]  
據我的理解, RTL 是 register transfer level,是硬件模擬測試的粒度 (Granularity) 。
愈細粒度的模擬愈準確,但因為時間限制所以能測試的情景(Scenario)愈少。
粒度大的模擬可以測試再長的情景,從而知道模擬模型是否可用。

到 RTL 粒度,我們只關心 register 之間的 logical relationship ,比如說,甚麼時候甚麼 register 應該有甚麼樣的值,而抽象了實現這些功能的具體電路。

動感超人打怪獸 2018-12-12 02:05 PM

高手:lDD_004:

hamsterman 2018-12-12 08:52 PM

[quote]原帖由 [i]darigold[/i] 於 2018-12-12 10:12 AM 發表 [url=https://www.discuss.com.hk/redirect.php?goto=findpost&pid=491874997&ptid=27897705][img]https://www.discuss.com.hk/images/common/back.gif[/img][/url]

[taguid=5389022]hamsterman[/taguid]  
據我的理解, RTL 是 register transfer level,是硬件模擬測試的粒度 (Granularity) 。
愈細粒度的模擬愈準確,但因為時間限制所以能測試的情景(Scenario)愈少。
粒度大的模擬可以測試再長的情景,從而知道模擬模型是否可用。

到 RTL 粒度,我們只關心 regis ... [/quote]

基本上如你所説。RTL再下一層是circuit/transistor level, 對上是system/architecture,這些都是屬晶片(硬件)的門面,樓上講開assembly,係屬軟件果面(叫硬件如何運作的指令)

煙民母親生賤種 2018-12-16 12:28 AM

當一個人乜都唔識既時候,就會學呢樣果樣。當學得多了,又發覺其實很多也是沒有什麼實際用途,然而時間就沒了一大半。為了彌補先前的錯誤,於是就放棄了學的東西,用緊餘既時間做自己想做的事。又因為如此,太久沒接解先前所學的東西,而忘記了7,8 成。:fst_011:

form5 2018-12-16 01:09 AM

寫病毒可能有用嘅

tom.care 2018-12-16 01:23 AM

*** 作者被禁止或刪除 內容自動屏蔽 ***

chachaping 2018-12-19 02:35 PM

為什麼會有 Assembly ?
因為 8E3F 680A 3B9A 這樣的機械語言人類是無法掌握的
所以才會寫比較易明的 Assembly, 例如

Lod AX,[8A20]
Lod BX,[9BC0]
CMP AX,BX
JGT :MARK1

亦沒有 Compiler 這東西,
就真接叫 Assembler
現在可能需要寫 Device Driver 的 hardware engineer,
或者寫 Compiler / OS 最底層的東西時才會用 Assembly 吧.


[quote]原帖由 [i]haloPaul[/i] 於 2018-12-7 07:42 PM 發表 [url=https://computer.discuss.com.hk/redirect.php?goto=findpost&pid=491654411&ptid=27897705][img]https://computer.discuss.com.hk/images/common/back.gif[/img][/url]
大陸叫做匯編語言,香港台灣叫做組合語言,英文叫做assembly。

我記得很久以前有個電腦高手說過,掌握了匯編語言就能透徹了解電腦的運作原理。

但是,我看過下匯編語言的書籍,好像很難呀,該如何入門:smile_27:

利申:目前正學習C語言 ... [/quote]

wtf_name 2018-12-22 06:01 AM

較實際的應用:將軟件變開心版,尤其係冷門的軟件
不過既然係IT 人, 唔應該咁做
頁: [1]
查看完整版本: 如何入門匯編語言