Win32 組合語言程式結構與語法入門:從最簡單的 MessageBox 說起
前言 掌握 Win32 組合語言的第一步,是理解其程式結構與基本語法。不同於 DOS 時代的多種記憶體模型,Win32 採用扁平模式,配合標準呼叫慣例,使程式編
深入解析 x86 保護模式下的異常處理機制:實例七完整演示
前言 在 x86 保護模式程式設計中,異常處理是核心且複雜的課題。本文透過一個完整的組合語言實例(實例七),詳細演示如何模擬並處理多種常見的處理器異常,包括除法
保護模式控制轉移詳解 (二):調用門、特權級變換、堆疊切換與返回機制
本文為保護模式教程系列第二部分,深入剖析任務內控制轉移機制:無特權級轉移 (JMP/CALL/RET)、調用門跨特權調用、堆疊自動切換與參數複製、帶立即數返回指
保護模式分段管理機制深度解析:描述符、選擇子與地址轉換
80386 保護模式的核心在於分段管理機制。本文系統闡述段定義參數、描述符結構、GDT/LDT 組織、選擇子格式、描述符快取寄存器,以及虛擬地址到線性地址的完整
DOS 6.0 硬碟引導記錄 (FDBOOT.ASM) 核心原始碼分析
本文呈現 Microsoft DOS 6.0 官方原始碼中的硬碟啟動扇區程式 FDBOOT.ASM。這是標準的 MBR (Master Boot Record)
TASM 5.0 安裝配置完全指南:從安裝到 32 位工具使用
Borland Turbo Assembler 5.0 (TASM 5.0) 是經典的 x86 組合語言開發工具,支援 16/32 位開發。本文整理安裝步驟、系
自製多重引導載入器:修改 MBR 分區表實現多系統啟動
當需要在已安裝 Windows 2000/XP 的電腦上再安裝 Windows 98/DOS 等舊版系統時,原有的 NTLDR 無法識別較舊的系統。第三方工具(
組合語言實作:讀取暫存器內容並寫入檔案
本程式演示在 DOS 環境下(MASM 5.0 / Windows XP),將 AX、BX、CX、DX 四個通用暫存器的 16 位元組值轉換為 ASCII 十六
保護模式控制轉移進階:任務切換、調用門與特權級變換實戰
本文為組合語言保護模式教程系列第三部分,聚焦任務切換、調用門機制、特權級變換中的參數傳遞與別名技術,附完整實例程式(ASM5.ASM)演示兩任務切換與任務內特權
AT&T x86 組合語言語法完全指南:與 Intel 語法差異對照
DJGPP、GCC 內聯組合語言、Linux 核心開發均採用 AT&T 語法。它與主流的 Intel 語法(MASM/TASM/NASM)有顯著差異。本文系統整
Windows 程式防止多重啟動的四種經典方法
在 Windows 環境下,雙擊關聯檔案會啟動程式並傳遞路徑參數。多文檔介面(MDI)程式通常要求單一實例:若已運行,新啟動的實例應將參數傳遞給現有實例並自行退
保護模式中斷處理實戰:時鐘中斷與陷阱門顯示倒計時
本文展示一個完整的 80386 保護模式程式,演示外部中斷(時鐘中斷 IRQ0,向量 08H)與軟中斷/陷阱門(向量 0FEH)的協同處理。程式在螢幕左上角以倒
組合語言實作冷啟動、熱啟動與 RESET 重啟
在 IBM PC 及相容機中,除了開機冷啟動,還有熱啟動(Ctrl+Alt+Del)與 RESET 硬體重啟。兩者共同點是跳轉至 BIOS 入口點(FFFF:0
SQLAlchemy 核心功能深度解析:從 Eager Loading 到 Identity Map
SQLAlchemy(簡稱 SA)作為 Python 生態系中最強大的 ORM 框架之一,其文檔品質堪稱典範。但功能豐富也意味著學習曲線陡峭。本文提煉幾個實戰中
深入解析組合語言中的堆疊操作與地址計算
這篇文章旨在釐清組合語言中堆疊操作的地址計算細節,透過一個具體的範例程式,詳細說明 push 與 pop 指令對堆疊指標(SP)的影響,以及如何正確設定初始堆疊
MASM32 程式設計:獲取 Windows 任務欄高度的實用技巧
前言 在開發 Windows 桌面應用程式時,常需要在螢幕右下角顯示視窗(如倒計時提醒),但必須避免遮擋系統任務欄。這就需要準確獲取任務欄的高度,以便正確計算視
MASM32 實作視窗淡入淡出效果 (AnimateWindow API)
作者分享使用 MASM32 (組合語言) 呼叫 user32.dll 中的 AnimateWindow API,實作對話方塊的淡入淡出動畫,作為定時休息提醒工具
Win32 組合語言繪圖實戰:用 GDI 繪製太極八卦圖
專案背景 在學習 Win32 組合語言圖形程式設計時,嘗試以 GDI API 復刻 C# 版太極八卦圖繪製邏輯。本文完整展示從算法分析到 MASM32 實作的全