GETSEC 是 Mike Sirmans 於 1984 年為 Computer Innovations C-86 編譯器編寫的組合語言函式庫模組,提供「絕對磁區讀取」功能。它直接呼叫 BIOS 中斷 INT 25h,繞過 DOS 檔案系統,按邏輯磁區號直接讀取軟碟或硬碟資料。這在開機磁區備份、磁碟編輯器、防毒掃描引擎等底層工具中極為關鍵。
int getsec(unsigned drive, unsigned numsec, unsigned begsec, char *buffer);
PUSH BP / MOV BP,SP,以 BP 定址參數(相對 BP 的正位移)。INT 25h。注意:INT 25h 返回時會在堆疊殘留旗標暫存器,必須手動清理。POPF / POP BP / RET。現代 Windows/Linux 以 DeviceIoControl / ioctl + SG_IO 取代 INT 25h/26h,但「邏輯磁區號 → 實體位置」的核心演算法在 RAID 控制器韌體、檔案系統驅動程式中依然通用。研讀 GETSEC 有助於理解區塊裝置驅動的基石邏輯。