筆記 - 組合語言(x86 Assembly Language)

組合語言是我大三下選修的課程,教科書使用的是Assembly Language for x86 Processors, 8th edition。


組合語言比起高階語言來說,語法相當的簡單直覺,並沒有我一開始想像的難。但也因為與語法簡單,所以寫起來相當複雜,還記得第一次寫雙重迴圈的條件時就花了快半個小時。比起在C++上花3分鐘就能寫好,在組合語言中一但邏輯複雜起來,如何優雅的編寫和簡化流程就是一門不小的學問。尤其在處理記憶體位址和大小不同資料間的傳遞問題,更是需要小心翼翼的處理,畢竟組合語言不像高階語言一樣有各式各樣強大的IDE來幫忙抓錯。


Notion - 組合語言(x86) 裡有幾題課堂上出的作業和我的解法,課堂上有額外使用Irvine32 。Irvine32 是一個x86架構組合語言程式庫,用於windows環境底下執行。

^