//常量可以在匯編語句中運算function Fun: Integer;const a = 11; b = 5;asm mov eax, a-bend; /
前面提到 32 位的寄存器有: EAX EBX ECX EDX ESP EBP ESI EDI; 其中, EAX ECX EDX 是自由使用的. 那麼剩下
關於進制: 生活中有 7進制(星期)、60進制(小時)、10進制(算術)等等. 計算機要用到 10進制、16進制、2進制和 8進制. 8進制用得少了,
AND: 邏輯與指令 OR : 邏輯或指令 XOR: 邏輯異或指令 NOT: 邏輯非指令這和 Delphi 的邏輯命令完全一致. //邏輯非 Not:{ n
匯編中的SHL(左移)、SHR(右移)命令也是和 Delphi 一樣的.var ByteNum: Byte;begin //右移 shr asm mov
var B: Byte; W: Word; C: Cardinal;begin {Byte 是1字節(8位)無符號整型, 其最大值是 111111112} a
var I: Integer; begin //Integer 類型是4字節(32位)有符號整數, 最高位是符號位, 如果是正數, 符號位是 0、負數的
除了 Byte、Word、Cardinal、Integer 外, Delphi 的整數類型還有: Longint、LongWord、Shortint、Sm
//自定義記錄用於測試Type TMyRec = record i: Integer; c: Char; end; //在匯編中使用記錄的過程proce
//計算 x 的 n 次方的函數function Fun(x,n: Integer): Integer;asm//mov eax, x {因為 e
簡單數據類型類型助記符助記符簡寫所占字節數數值范圍字節BYTEDB10..255字WordDW20..65535雙字DWordDD40..429496729
//准備一個在匯編中要調用的函數function DelphiFun(x,y: Integer): Integer;begin Result := x +
//小寫字母轉大寫字母function Fun1(C: Char): Char;asm sub C, 32//sub C, a-A {竟也可以這樣寫}end;
//XCHG 指令: 交換寄存器的內容var x,y: Integer;begin x := 1; y := 9; asm mov eax, x mov
//以下三個函數功能一樣, 但效率不同{Fun1 需要讀取常數 0, 最慢}function Fun1: Integer;asm mov eax, 0end
譬如 EAX AX AH AL 四個儲存器, 真實存在的其實只有一個 EAX, AX AH AL 不過是不同的訪問方式. 11111111 11111111