1. 程式人生 > >組合語言學習:精華問題解答

組合語言學習:精華問題解答

【問題】
不理解wait指令是幹什麼用的,還有就是可不可以給棧段社標號,然後用offset獲取棧段的偏移地址呢?jmp指令只能在程式碼段中跳轉嗎,能不能跳到資料段?
【解答】
wait指令?我給你的手冊呢?
offset是求偏移地址,並不針對具體哪個段,哪個段中的都可以。
jmp是流程的跳轉,應用只在程式碼段中跳。但從原理上,你可以跳到任意地方,那就要將資料當指令用了,或許你有特殊意圖,但一般不這樣幹。

【問題】
遠轉移不是段間轉移嗎,好像也可以實現段內轉移,還是我對段間的理解不對。
【解答】
段內是段間的特例,效果上還在同一段,但CS會改變,只是改一次還是原值。這裡,要從對應的機器指令上看出端倪。

【問題】
要知道某條指令的機器碼長度,都要用u命令檢視嗎?
【解答】
還可以查手冊。再者,如果長期用匯編,這些指令長度自然是明白的了。U命令是我們的工作方式,也是學習手段。

【問題】
div實現的除法限制的非常多,在c語言中只要用一個簡單的/符號,編譯器是如何轉換的,是我們學的太淺嗎?
【解答】
組合語言還有其他途徑實現除法。作為32學時的課程,我們的學習內容有限,可以在課程基礎上自行拓展。

【問題】
1、所有的c語言演算法都能表示成彙編嗎?2、用匯編語言寫的排序也會有冒泡,快排,基數排序等多種類區別嗎?
【解答】
1、演算法與語言無關。理論上,所有演算法,可以用任何語言描述。工程中,選擇合適的語言做合適的事。2、演算法就在那裡,用任何語言都可以去實現,當然,包括彙編。

【問題】
如果實踐失敗了還有沒有挽救的地步??
【解答】
學習中,失敗的實踐,甚至可以是你最大的收穫。積累了學習中的無數失敗,才不會在事業中,釀成不可挽回的損失。

【問題】
彙編已經可以排序,交換了,那麼會有指標嗎,還是說指標的功能已經用別的方式實現了?
【解答】
我們不是一直在“定址”嗎?不是彙編沒指標,而是我們一直用的就是指標。

【問題】
雖然一串資料可以分為多維陣列,但實際結構儲存都是一樣的。那又分成多維陣列理解方式有個好處?
【解答】
“分成多維陣列理解”不是要什麼好處,而是在解決實際問題時,需要用多維陣列建模,進而用語言實現這種模型。

【問題】
我是不是可以理解所有的二維陣列都可以把它們當作一維陣列來處理?這和把它當作一維陣列來比,在執行上有什麼區別嗎?
【解答】
多維陣列,我們強調的是邏輯結構,是面向人為問題建模而言的。如果從儲存的角度,都是線性儲存的。

【問題】
對於同一個題運用不同的方法,在組合語言上也會有效率之分嗎?還是隻有恰不恰當之分呢?
【解答】
一題多解,效率有別,這個根源,用演算法複雜度解釋,與語言無關。到底選用哪種演算法,綜合多種因素做決定。

【問題】
有什麼可以,主動弄壞u盤的方法嗎??????這樣實驗資料恢復也方便
【解答】
U盤放嘴裡,使勁咬一口,然後……