Delphi 內嵌組合語言入門(14):常數與變數在 ASM 中的運算差異
常數:編譯期運算 function Fun: Integer; const a = 11; b = 5; asm mov eax, a - b end; /
Delphi 內嵌組合語言入門(15):需保護的寄存器 (EBX/ESI/EDI/EBP/ESP) 使用規範
自由 vs 受保護寄存器 類別寄存器用途 自由使用EAX, ECX, EDX參數傳遞、返回值、臨時計算 需保護EBX基址指標、常用作循環不變量 ESI來源變址
Delphi 內嵌組合語言入門(16):進制表示法 (二進制/八進制/十進制/十六進制)
組合語言進制後綴/前綴 進制表示法範例備註 二進制後綴 B/b11111111B 八進制後綴 O/o377O字母 O 非數字 0 十進制無後綴或 D/d255
Delphi 內嵌組合語言入門(17):邏輯運算 AND/OR/XOR/NOT 完整實測
邏輯指令真值表 指令運算1&11&00&10&0 AND邏輯與1000 OR邏輯或1110 XOR邏輯異或0110 NOT邏輯非 (單操作數)0→11→0
Delphi 內嵌組合語言入門(18):SHL/SHR 位移運算等同乘除 2 的冪
位移指令 SHL reg, count:邏輯左移,低位補 0,相當於 ×2count。 SHR reg, count:邏輯右移,高位補 0,相當於 ÷2cou
Delphi 內嵌組合語言入門(19):無符號整數 Byte/Word/Cardinal 範圍測試
無符號整數型別對照 型別位寬最大值 (二進制)十進制 Byte811111111255 Word1611111111 1111111165535 Cardin
Delphi 內嵌組合語言入門(21):ShortInt、SmallInt、Int64 型別測試
Delphi 整數型別完整對照 型別位寬有號範圍 ShortInt8是-128..127 SmallInt16是-32768..32767 Integer /
Delphi 內嵌組合語言入門(22):在 ASM 中存取 Record 結構欄位
Record 定義 type TMyRec = record i: Integer; c: Char; end; ASM 存取 Re
Delphi 內嵌組合語言入門(23):LOOP 指令實作冪運算
LOOP 指令 LOOP label:DEC ECX;若 ECX != 0 則跳轉到 label。ECX 為隱含計數器。 計算 x^n (x 的 n 次方)
Delphi 內嵌組合語言入門(24):組合語言資料型別對照表
組合語言基本資料型別 型別名稱助憶符簡寫位元組無號範圍有號範圍 ByteBYTEDB10..255-128..127 WordWORDDW20..65535-
Delphi 內嵌組合語言入門(25):在 ASM 區塊中呼叫 Delphi 函數
呼叫慣例:Register (預設) Delphi 預設 register 呼叫慣例:前三個參數依序放入 EAX, EDX, ECX,其餘入棧。返回值放 EAX
Delphi 內嵌組合語言入門(26):大小寫字母 ASCII 碼轉換
原理 ASCII 碼中,大小寫字母差值固定為 32(a - A = 32,二進制第 5 位不同)。 小寫 → 大寫:減 32(或 AND 0xDF 清除第 5
Delphi 內嵌組合語言入門(27):XCHG 指令交換兩變數值
XCHG 指令 XCHG reg, reg/mem 原子交換兩個操作數內容。至少一個操作數必須是寄存器,不支援 XCHG mem, mem。 交換兩變數範例
Delphi 內嵌組合語言入門(28):EAX 歸零三種寫法效能比較
三種歸零寫法 function Fun1: Integer; asm mov eax, 0 end; // 立即數 0,需讀取常數池 functi
Delphi 內嵌組合語言入門(29):寄存器數值範圍與溢位行為
核心觀念:寄存器重疊 EAX (32位) 包含 AX (16位),AX 又分 AH (高8位) 與 AL (低8位)。寫入任一子寄存器會影響整個 EAX 的對應
Delphi 內嵌組合語言入門(30):x86 寄存器完整對照表
前言 掌握 CPU 寄存器是編寫高效內嵌組合語言的前提。本文整理 x86/x64 常用寄存器分類、名稱、位寬、二進制編碼與用途,供查閱參考。 通用資料寄存器
Delphi 類入門教學(一):表單繼承 - 建立可復用視窗基類
前言 Delphi 的視覺繼承允許從現有表單衍生新表單,自動繼承元件佈局、事件處理與程式碼。本文示範:TMyForm 繼承 TForm1,覆寫 Button1C
IShellLink/IPersistFile 實現桌面/開始選單/快速啟動/發送到