醉裡挑燈看Code
顯示具有
Assembly
標籤的文章。
顯示所有文章
顯示具有
Assembly
標籤的文章。
顯示所有文章
2021年12月22日 星期三
x86 assembly in Linux - part 7
›
"Programming from the Ground Up" 第三章有一節 "Addressing Modes" (P.41),會描述各種定址方式的寫法,久沒寫組語,想要重頭溫習一定要來看這一節。 另外,就是 stack (第四章) 的...
2019年7月2日 星期二
人體 Compiler 果然很難
›
今天在測試 struct memory dump 時,無意間發現使用 gcc -S 轉出來的組語很不一樣,我只能說再給我 10 年我也不會想到可以這樣寫,組語其實也蠻有趣的XD
2018年12月14日 星期五
UEFI Application - Stack overflow
›
最近在幫同事看一個問題 覺得很有趣,故記錄一下解題思路 同事在 build code 時,發現一個 link error 正在產生程式碼 已完成程式碼產生 UefiApplicationEntryPoint.lib(ApplicationEntryPoint.obj) :...
2018年9月27日 星期四
x86 Assembly in Linux - part 6
›
寫組語前除了用紙筆安排要用的暫存器外,最好也是分段撰寫,這樣比較方便除錯。 大部份的錯誤都是常數忘記加上 "$",或是 instruction 的單位用錯 。 即使如此,code 還是常常不如預期,幸好我們可以很簡單的用 GDB 來 debug。 ...
x86 Assembly in Linux - part 5
›
因為趕專案沒什麼時間,諷刺的是我也是因為專案才開始學組語 當初設想的目標就是可以用組語寫出猜數字的小遊戲 扣掉重覆的 function 行數約 361 行 如果用 Go 或是 C 大概只需要不到 100 行 雖然寫出了猜數字組語版 但 "Programmi...
2018年9月20日 星期四
x86 assembly in Linux - part 4
›
在高階語言的世界裡 printf 就像喝水一樣 往往是最常用的 debug 工具之一 但在組語的世界裡 在還不會呼叫 C 語言函式庫前 你是無法跟螢幕打交道的 幸好我們還是可以透過 system call 來做這件事 用的是 write system call ...
x86 assembly in Linux - part 3
›
雖然 "Programming from the Ground Up" 還沒看完 在知道了如何呼叫 linux system call 後 (exit) 便想找 1 個簡單的 system call 來試試 看來看去 mkdir 算是相對簡單的 不過...
x86 assembly in Linux - part 2
›
"Programming from the Ground Up" 的作者建議寫組語時 最好是拿紙筆把要用到的暫存器安排一下 寫起 code 來會比較順暢 昨天回家洗澡時就想到 part 1 的 example 做了一些很不必要的動作 也多用到一些不...
2018年9月19日 星期三
x86 assembly in Linux - part 1
›
目前看的書是網路很推薦的 "Programming from the Ground Up" 由於這本書介紹的是 32 位元的組語寫法 故在編譯成 64 位元的 code 時會有問題 此時需指定 --32 to as and -m elf_i386 to...
2017年11月7日 星期二
x86 Assembly Intel to AT&T
›
最近工作需要使用人家寫好的組語去控制 HW 我需要的是 AT&T 語法 不過因為對方不熟 AT&T 語法 故需轉換對方寫的 Intel 語法 本想直接人工轉換,但又怕不懂組語的我做白工 上網搜尋了一下,找到一個專案 ta2as 試了一下,只要調整來源...
›
首頁
查看網路版