研究試驗2使用暫存器報告

2022-09-12 19:03:02 字數 1420 閱讀 8306

綜合研究試驗 2 研究報告

使用暫存器

本次研究試驗,主要研究在c語言中使用暫存器來儲存資料,這樣就可以避免使用變數。

1、編乙個程式並編譯、連線生成

(1)問:這些暫存器名能否用小寫形式?

答:我研究發現這裡的暫存器名有大小寫之分,只能是大寫的,小寫的編譯器不能識別,編譯會出現錯誤。

(2)問:main函式中的這些指令,其對應的機器碼和彙編**是什麼呢?

答:後面的研究發現彙編指令是機器指令一種便於記憶的書寫格式,而c中的指令更高階於彙編指令,可以說是彙編指令的一種直接簡單的算術表達形式,這種寫法與人類語言更接近,更便於閱讀與記憶。

2、用debug載入用u命令檢視編譯後的機器碼和彙編**。

(3)問: debug載入後用u命令檢視到許多機器碼和彙編**,但到底哪些才是main函式的**呢?

(4)問:能不能把main函式看成像組合語言中的乙個子程式,這樣我們就能通過找到其偏移位址而找到其**段了?

(5)它的段位址就一定在**段中嗎?

3、用下面的方法列印出被載入執行時,main函式在**段中的偏移位址:

(6)問:為什麼這個程式能夠找到main函式的偏移位址?

(7)問:說說你對main函式彙編**中「push bp mov bp,sp pop bp ret」這四句話的理解。

為了解決上述問題,再編譯含有子函式的程式

答:從上圖我們可以看到在呼叫子函式f()時0c96:020c初與

main函式0c96:01fa處的彙編指令相同都為:push bp mov

bp,sp ,而結尾處也都相同都為pop bp ret,因此我們現在可

以肯定main函式在在匯程式設計序中確實是被當做乙個子程式來處理。

知道main函式相當於組合語言中的乙個子程式於是上面幾個問

題就都能解釋了。

對於問題(3)和問題(4)和問題(5)因為我們可以把main函

數當做乙個子程式來處理,所以我們可以確定其段位址就在**段

中,我們只要找到了它的偏移位址,我們就能找到其對應的程式**了。

對於問題(6)因為我們可以把main函式當成乙個子程式來處理,

所以這裡的main就相當於組合語言中的乙個標號,它就代表了偏移

位址,所以這個程式能找到main函式的偏移位址。

對於問題(7)因為main函式可以看做乙個子程式,我們在呼叫

它時用「push bp mov bp,sp 」將棧頂位置儲存,再用「pop bp ret」來返回。(為什麼要用到bp呢?)

但是上面我們用相同的程式卻沒有成功找到子函式f()的段位址,難道我們不能用這個程式找到其他函式的段位址嗎?我認為應該同樣能找到,這個子函式我們同樣可以看做是組合語言中乙個子程式中的某個標號,它的值也代表了偏移位址,也許是(printf ("%y\n",f))這句話有語法錯誤,由於對c不熟悉了,還請學姐幫忙解決。

試驗研究方法

5.什麼是正交試驗設計?正交試驗設計的特點?如何進行正交試驗設計?舉例說明。答 正交試驗設計就是利用正交表安排多因素試驗。正交試驗設計的特點 1 全面試驗特徵。它源於試驗點 均衡分散 的特點。即通過試驗點均衡分布在整個試驗區域內,形成較強的代表性。2 整齊可比特徵。它源於試驗點 整齊可比 特點。由於...

試驗器材使用措施

實驗器材管理制度 實驗器材的管理包括器材的帳目 使用 借用 損壞賠償和報廢登出等方面。一 實驗器材的帳目 1 凡使用期限在一年以上且單價在百元以上的大型 精密 貴重實驗儀器裝置均要設立固定資產明細帳,並納入學校固定資產中核算。2 屬非固定資產的實驗器材,如普通儀器 化學試劑 玻璃儀器 實驗工具材料等...

試驗檢驗計畫 2

x專案質量檢驗 試驗計畫 專案名稱 編制人審核人 批准人生效日期 年月日 一 工程概況 1.1 建築設計簡介 1.2 結構設計簡介 1.3 專業設計簡介 2.1.1.1 質量部 a 負責檢驗批劃分,檢驗計畫編制,並督促實施 b 參加檢驗批驗收 工序交接檢,並對其質量進行核定 c 參加預檢 隱蔽工程驗...