首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 內嵌組合語言教學 (16):進制表示法完全指南

     編輯:Delphi

組合語言支援多種進制字面量表示,理解各進制語法與轉換關係對於閱讀代碼、除錯、硬體編程至關重要。

支援進制語法

進制後綴/前綴範例說明
二進制B / b11111111B最直觀位模式
八進制O / o / Q / q377OUnix 權限常用
十進制D / d / 無255 / 255D人類慣用
十六進制$ 前綴 / H / h 後綴$FF / 0FFH程式設計主流

七種寫法同值演示 (均為 255)

function Fun0: Integer; asm mov eax, 255       end;  { 十進制 }
function Fun1: Integer; asm mov eax, 255D      end;  { 十進制 + D }
function Fun2: Integer; asm mov eax, 11111111B end;  { 二進制 }
function Fun3: Integer; asm mov eax, 377O      end;  { 八進制 }
function Fun4: Integer; asm mov eax, $FF       end;  { 十六進制 $ }
function Fun5: Integer; asm mov eax, 0FFH      end;  { 十六進制 H (首位不能為字母) }
function Fun6: Integer; begin Result := $FF; end;    { Pascal 只支援 $ }

測試代碼

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(Fun0));  { 255 }
  ShowMessage(IntToStr(Fun1));  { 255 }
  ShowMessage(IntToStr(Fun2));  { 255 }
  ShowMessage(IntToStr(Fun3));  { 255 }
  ShowMessage(IntToStr(Fun4));  { 255 }
  ShowMessage(IntToStr(Fun5));  { 255 }
  ShowMessage(IntToStr(Fun6));  { 255 }
end;

進制轉換關係

  • 2³ = 8 → 每 3 位二進制 = 1 位八進制
  • 2⁴ = 16 → 每 4 位二進制 = 1 位十六進制
  • 八/十六進制是二進制的緊湊表示,便於人類閱讀
  • 十進制與二進制轉換需除 2 取餘法,無直接位對應

最佳實踐

  • 位掩碼、標誌位:二進制 或 十六進制
  • 計數、尺寸:十進制
  • Unix 權限、舊代碼:八進制
  • Pascal 代碼中統一使用 $ 前綴十六進制
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved