1. 程式人生 > 其它 >2.5 OpenEuler 中C與彙編的混合程式設計(選做)

2.5 OpenEuler 中C與彙編的混合程式設計(選做)

2.5 OpenEuler 中C與彙編的混合程式設計(選做)


0.任務詳情

1.  在X86_64架構下實踐2.5中的內容,提交程式碼和實踐截圖
2. 把2.5的內容在OpenEuler中重新實踐一遍,提交相關程式碼和截圖
3. 實驗內容要經過答辯才能得到相應分數

1.首先在x86_64kali中實踐內容。

1.1

入口程式碼

函式體程式碼

退出程式碼

1.2

這裡有點繞,得分兩個檔案進行編譯,一個是s.s,另一個是s.c,將兩份檔案編譯成.o檔案再一起編譯成可執行檔案。

1.3

這裡編譯出現問題是因為編譯環境應該是32位的,這裡的pop和push產生的是32位,但是系統環境應該是64位的,所以型別不匹配,需要再過程中加上-m32。(或者將所有指令都換成xxxl是否可行?)

參考部落格:https://www.codenong.com/21245245/

1.4

這裡問題與上面相同,編譯加上-m32即可通過。

程式碼連結:https://gitee.com/sister_ben/kali/tree/master/test2-5

2.接下來在樹莓派openeuler中完成。

在openeuler中的源都沒有有關32位庫的安裝包,無法安裝32位編譯環境。