對彙編課的認識

1.對在程序中使用多個段的問題的思考
在程序中使用數據,代碼和棧有兩種方式,第一種是將代碼,數據和棧放在一個段中。第二種是將數據,代碼和棧分別放到不同的段中。但是我們在使用第一種時,會出現一下問題。首先,程序的一個段中不僅有代碼還有數據,這樣不夠清晰。其次呢,我們在執行程序的時候用debug進行跟蹤,會發現我們程序的入口並不是代碼,而是數據。這樣程序就不能正常運行。解決的方法就是加上僞代碼“start”,這樣“start end”就可以進行匹配,start就可以轉化爲一個入口地址。

如果使用一個段,這樣的缺陷就是程序的邏輯不夠清晰,還有一個問題是如果代碼數據以及棧空間的大小超過一個段的大小,顯然他們就不能被放到一個段中了。所以在實際的程序設計中,我們往往將代碼,數據以及棧分別定義到不同的段空間中。假如一個代碼有數據,代碼和棧項各一個,我們可以按照下面的格式來組織段:

Assume cs:code,ss:stack,ds:data       ;定義一個數據段,棧段一個代碼段
data segment;數據段
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h;數據段內容
data ends
stack segment;棧段
 dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;棧段內容
stack ends
Code segment;代碼段
Start:
;代碼
Code ends
End start

2.對彙編課程的思考和對老師的建議
我認爲我們學校選擇開設彙編課程這門課是很有意義的。首先在於我們可以更深入地理解計算機底層的運作方式。其次我們可以通過學習彙編來讓我們加深對高級語言的理解。最後,我們在以後的工作中可能會用到這些彙編語言。比如說我們要寫一個操作系統。
我覺得王爽這本教材很通俗易懂。所以我學習的時候並不是很吃力。但是在寫代碼的時候,發現理解起來並不困難,但是要想自己寫出程序來很難。因爲我們對底層瞭解更多了,寫起彙編代碼來的時候會畏手畏腳。因此,我提出如下建議:
1.加強平時作業的檢查,要鼓勵大家多寫程序,而且要落實好,有很多同學平時只是去上上課,而並沒有認真完成作業。我覺得彙編語言最好的作業形式就是寫代碼。而且難度不要太大,但量可以多一點。剛開始以這種形式去深入代碼。
2.小班討論課不同的同學們有不同的問題。這樣上課的內容更加豐富。
3.可以鼓勵大家用新的模式去學習,比如說,將寫好的代碼發到csdn博客上,提交作業只需要提交一個鏈接。
4.實驗不要壓到期末,一個學期應該從開學就開始寫代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章