彙編系列1

2022-08-09 05:48:13 字數 1373 閱讀 6532

問題1:什麼是機器語言?

計算機能識別的語言,即010101...。想與計算機打交道要了解他的方式。舉例如下表:

加0100 0000

減0100 1000

乘1111 0111 1110 0000

除1111 0111 1111 0000

機器語言對於人來說太陌生,不方便理解記憶和操作(要記大量的0和1)。 在機器語言的基礎上進行一定的抽象,便於人們理解

問題2:什麼是組合語言?

在機器語言的基礎上進行抽象,用指令表示我們要做的事情。編譯器再將我們的指令轉換成機器語言。

加:inc eax

---->經過編譯器

0100 0000

減:dec eax

0100 1000

乘:mul eax

1111 0111 1110 0000

除:div eax

1111 0111 1111 0000

3、c語言

組合語言雖然進行了一定抽象,但是仍然不符合我們人類的思維習慣,理解困難。於是發展出了高階語言

加:a+b

--->經過c語言的編譯器

0100 0000

減:a-b

0100 1000

乘:a*b

1111 0111 1110 0000

除:a/b

1111 0111 1111 0000

高階語言的發展和強大,本質上是編譯器的發展和強大。編譯器替我們做了更多的事情。編譯器越是強大,人寫**就越簡單,越是符合人的思維習慣。

4、c語言和c++語言的關係

c和c++其實本質上沒有什麼區別,知識編譯器做的事情越來越多越來越強大了。

c語言是學好c++的基礎!

站在c編譯器的角度上去理解語言。

5、為什麼學習彙編?

程式設計師鄙視鏈。

理解彙編的人掌握的才是真正的本質。乙個不懂彙編的c程式設計師絕對稱不上是高手,充其量就是熟練而已。隨便幾個問題就搞不定

比如說,返回值,返回值存哪兒?返回值大於4個位元組的值存哪兒?返回值大於4個位元組不用指標存哪兒?

但是懂彙編的人知道。

乙個不懂彙編的c c++程式設計師,是不會懂暴破的。如果想從事外掛程式反外掛程式,病毒反病毒或安全相關的工作,彙編是基礎,也是必須要掌握的。

正向開發工程師,懂彙編的話可以比同事做的更好。別人搞不定的問題你能搞定,別人除錯不了的程式你能除錯。

6、學習環境

vc6,為什麼vc6,因為越是新版的編輯器替我們做的事情越多,不利於我們學習細節。

還一點,凡是搞底層的人,開發環境都是vc6。

彙編(1)初識彙編

7.記憶體位址空間 8.主機板 9.介面卡 10.各類儲存器晶元 組合語言是直接在硬體之上工作的程式語言,首先要了解硬體系統的結構,才能有效的應用組合語言對其程式設計 計算機能讀懂的只有機器指令,什麼是機器指令?例1 指令 01010000 push ax 例2 s 768 12288 1280 機...

彙編系列8 彙編環境搭建

學習的彙編用在什麼地方?初期彙編要學到什麼程度?在什麼環境下學習彙編,學習的是那種彙編?1 學習彙編 不是為了寫 為了理解程式是怎麼執行的。切到彙編介面看原理本質,所有複雜的概念在彙編面前都是浮雲。學彙編痛苦幾天,受益無窮,節省很多其他的痛苦時間。彙編是高手的必經之路。如果從事的是正常的應用開發,不...

彙編 習題1

糾錯 sp 2040h ax 12d4h bx 36f4h 讓al置0的方法 mov al,0 xor al,al 最快,不用操作記憶體 and al,00h sub al,al 兩種方法實現將 al 乘以10值送ax的功能 mov ax,0028h mov cl,10 mul cl cbwshl ...