第九屆 優選

software-dev
與妖精共舞:在 RISC-V 架構上使用 GO 語言實作 binutils 工具包
高魁良

系列文章

DAY 11

第十一日:RISC-V 指令集架構介紹

前情提要 昨日總算是克服了我們的簡單目標,最後一塊拼圖就是在前幾天規劃的 rvgc 函式庫。今天就讓我們開始探索 RISC-V 的指令集架構吧!主要的參考來源...

DAY 12

第十二日:RISC-V 整數基本指令集的五十道陰影

前情提要 昨日初步觀察 RISC-V 的指令集架構的一些特徵,如暫存器編排、指令結構設計哲學與主要的指令型態等。今天,我們則要深入介紹 RISC-V 的指令。...

DAY 13

第十三日:實作 rvgc 函式庫之一

前情提要 前兩日介紹了一下 RISC-V 的整數基本指令集架構,我們發現到設計者的巧思與其中的簡潔之美;跳脫欣賞的角度,我們也需要這些知識來幫助 rvgc 函...

DAY 14

第十四日:實作 rvgc 函式庫之二

前情提要 各位讀者,新年快樂!昨日在 rvgc 函式庫中加入了 R-type 指令的轉譯,看起來至少 add 指令的翻譯是正確的。今天的目標則是把剩下的數十道...

DAY 15

第十五日:rvgc 函式庫測試--靜態連結程式

前情提要 完成了 rvgc 函式庫的 InstToBin 函式的轉譯功能之後,我們理論上應該可以支援更豐富的組合語言輸入檔了!今天就來驗證一下其他的組語檔案作...

DAY 16

第十六日:使用 size 觀察各區段大小

前情提要 波瀾壯闊的 rvgc 與 as 篇大致告一段落。今日回到一般的 binutils 工具程式中,目標是:size! 使用方法與功能介紹 size 工...

DAY 17

第十七日:strip 原理介紹

前情提要 有過 readelf 的經驗之後,我們已經對 ELF 格式中的檔頭內容瞭若指掌,所以 size 也就不費吹灰之力的完成了。接下來是小型工具程式之二的...

DAY 18

第十八日:nm 工具程式介紹

前情提要 昨日介紹了 strip,原訂今日緊接著實作的部份,但是因為時間分配的考量,筆者先繼續介紹其他的工具程式。今日的主角是:nm。 使用方法與功能介紹...

DAY 19

第十九日:nm 工具程式實作

前情提要 昨日介紹 nm 的用法,今日則讓我們來實作看看吧! 實作 從 size 與 readelf 工具程式的經驗裡,我們對於 ELF 的檔頭操作已經很熟...

DAY 20

第二十日:objdump 工具介紹

前情提要 到昨日為止,大致依照第 15 日的規劃行進,但是目前還欠著 strip 實作的債;主要原因是 strip 當初不小心被歸類在小型程式裡面,但是它會涉...