這是一個 TSR 螢幕擷圖程式,安裝後常駐記憶體,攔截鍵盤中斷(INT 09h),偵測 F1 鍵(掃描碼 3Bh,程式碼中為 59 可能為擴充鍵盤集),觸發將 VGA 320×200×256 模式(模式 13h)顯示記憶體 A000:0000 完整存檔為 PIC000~PIC999 序列檔案。
INT 21h/1Ah 設定 DTA → 4Eh/4Fh 搜尋現有 PIC*. 檔案,找出最大序號INT 27h 常駐IN AL, 60h ; 讀掃描碼
TEST AL, 80h ; 釋放碼忽略
JNZ EXIT1
TEST BYTE PTR ES:[417h], 4 ; Ctrl 鍵按下?
JZ EXIT1
CMP AL, 59 ; F1 掃描碼 (擴充集)
JNZ EXIT1
; 執行擷圖序列
CALL SAVESCR
...
JMP CS:INT9 ; 轉交原處理器
INT 10h/AX=1017h 讀取 256 色調色盤 → BUFFER (768 位元組) → 寫入檔案開頭INT 21h/3Ch 建立 PICnnn(依 DTA 序號)INT 21h/40h 寫 768 位元組REWRITE),每次寫 65535 位元組WRITE:INT 10h/AX=4F05h 設定顯示開始位置(分頁切換)→ DS=A000h → INT 21h/40h 寫入 64KBINT 21h/3EhINT 10h/4F05h (VESA 設定顯示開始) 切換分頁讀取完整 320KB現代螢幕擷圖透過 DirectX GetFrontBufferData、GDI BitBlt、Linux DRM drmModeGetFB 等 API 直接讀取桌面緩衝區,無需分頁切換。但「熱鍵觸發 → 影像緩衝區讀取 → 編碼存檔 → 序號管理」完整管線邏輯完全一致。本程式可視為「最小系統螢幕擷圖服務」的教學原型。