Delphi 調用 WinAPI:IsCharLower 判斷小寫字母
字符小寫判斷:僅 ASCII 小寫字母返回 True IsCharLower 檢查字符是否為小寫字母(a-z)。大寫字母、數字、控制字符、中文字符均返回 Fal
Delphi 調用 WinAPI:IsCharUpper 判斷大寫字母
字符大寫判斷:僅 ASCII 大寫字母返回 True IsCharUpper 檢查字符是否為大寫字母(A-Z)。數字、小寫字母、控制字符、中文字符均返回 Fal
Delphi 調用 WinAPI:lstrcat 字符串拼接
字符串拼接:lstrcat 向目標緩衝區追加內容 lstrcat(dest, src) 將源字符串追加到目標字符串末尾(覆蓋目標結束符)。目標緩衝區必須預留足夠
Delphi 調用 WinAPI:lstrcpy 字符串複製
基本字符串複製:lstrcpy 與各類緩衝區配合 lstrcpy(dest, src) 將源字符串完整複製到目標緩衝區(含結束符),目標緩衝區必須足夠大。示例涵
Delphi 調用 WinAPI:lstrcpyn 指定長度複製字符串
安全複製字符串:限制最大複製字符數 lstrcpyn 允許指定最大複製字符數(含結束符),防止緩衝區溢出。第三個參數為負數時複製整個源串。 示例代碼 proc
Delphi 調用 WinAPI:lstrlen 獲取字符串長度
字符串長度獲取:ANSI 與 Unicode 版本差異 lstrlen 返回以空字符結尾的字符串長度(不含結束符)。lstrlenA 按字節計,lstrlenW
Delphi 調用 WinAPI:lstrcmp/lstrcmpi 字符串比較
區分/不區分大小寫的字符串比較,返回 -1/0/1 lstrcmp 區分大小寫,lstrcmpi 不區分。返回值:-1(小於)、0(相等)、1(大於)。與 De
Delphi 調用 WinAPI:CharToOem/OemToChar 字符集轉換
ANSI/OEM 字符集雙向轉換與緩衝區長度控制 CharToOem/OemToChar 及其 Buff 後綴版本實現 ANSI 與 OEM 字符集互轉。Buf
Delphi 調用 WinAPI:CharNext/CharPrev 字符導航函數
字符指針前進/後退:正確處理 DBCS/Unicode 字符 CharNext 與 CharPrev 是 WinAPI 提供的字符級導航函數,能正確處理雙字節字
Delphi 內嵌組合語言:機器語言與組合語言的關係
從二進制機器碼到助記符的演進 組合語言是機器語言的人類可讀形式。CPU 直接執行二進制機器指令(高低電平),組合語言用英文助記符對應機器碼,經編譯器翻譯回二進制
Delphi 內嵌組合語言:關鍵字速查表
Delphi 內嵌組合語言保留關鍵字列表 組合語言不區分大小寫。以下為 Delphi 內嵌組合語言識別的關鍵字,包含寄存器名、指令助記符、運算符、數據類型等。
Delphi 內嵌組合語言:第一個完整範例 - 加法函數
MOV 與 ADD 指令實現整數加法 掌握 MOV(賦值/傳送)與 ADD(加法)兩條基本指令,即可編寫第一個內嵌組合語言函數。 可用寄存器速查 32 位:
Delphi 內嵌組合語言:可自由使用的三個寄存器
EAX、ECX、EDX:過程/函數中可自由修改的寄存器 Delphi 過程與函數中,僅 EAX、ECX、EDX 三個寄存器可自由使用。修改其他寄存器(EBX、E
Delphi 內嵌組合語言:寄存器參數傳遞順序驗證 (續)
兩個參數時 ECX/EDX 接收情況實測 繼續驗證 Delphi register 調用約定下,參數在寄存器中的分佈規律。 測試代碼 procedure Pr
Delphi 內嵌組合語言:& 操作符取變量地址
組合語言中訪問 Delphi 變量地址的 & 操作符 在 asm 塊中,& 操作符用於獲取 Delphi 變量的地址。當變量名與寄存器名衝突時,&
Delphi 內嵌組合語言:常量的多種使用方式
組合語言塊中常量的表示與引用 Delphi 內嵌組合語言支援十進制、十六進制($ 或 H/h 後綴)常量,以及 Delphi 定義的符號常量。 完整示例 va
Delphi 內嵌組合語言:8/16/32 位寄存器關係圖解
x86 寄存器層級結構與重疊關係 32 位模式下主用 32 位寄存器(EAX、EBX、ECX、EDX),它們包含 16 位與 8 位子寄存器,形成層級重疊關係,
Delphi 內嵌組合語言:asm 可直接替代 begin
asm 塊作為函數體的簡潔寫法 Delphi 允許在函數中直接用 asm 關鍵字替代 begin...end 塊,使純組合語言函數更加緊湊。 代碼示例 fun
record 實作 operator Add 實現結構體直接相加