zoukankan      html  css  js  c++  java
  • 初学 Delphi 嵌入汇编[16] 进制的表示方法

    关于进制:

    生活中有 7进制(星期)、60进制(小时)、10进制(算术)等等.
    计算机要用到 10进制、16进制、2进制和 8进制.
    8进制用得少了, 但也有, 譬如 Unix 服务器上的文件属性.

    2进制是计算机容易识别的; 10进制是人容易识别的, 据说 10进制源自于人有十个手指.

    计算机为什么会使用 8进制和 16进制呢? 因为: 23=8; 24=16; 这样比较容易和 2进制换算.
    从这里也能看出, 2进制和 10进制的换算相对复杂些.

    下面例子中说明了进制的表示方法, 七个函数都会返回整数 255:
    //十进制
    function Fun0: Integer;
    asm
      mov eax, 255
    end;
    
    //十进制数后面也可以加个 D(大小写无关)
    function Fun1: Integer;
    asm
      mov eax, 255D
    end;
    
    //二进制后面加 B(大小写无关)
    function Fun2: Integer;
    asm
      mov eax, 11111111B
    end;
    
    //八进制后面加 O(大小写无关)
    function Fun3: Integer;
    asm
      mov eax, 377O
    end;
    
    //十六进制前面加 $
    function Fun4: Integer;
    asm
      mov eax, $FF
    end;
    
    //十六进制也可以是后面加 H(大小写无关)
    function Fun5: Integer;
    asm
      mov eax, 0FFH {使用这种方法, 数字的首位不能是字母, 不然会被认为成标识符}
    end;
    
    //非汇编代码的 Delphi 只支持用 $ 表示十六进制
    function Fun6: Integer;
    begin
      Result := $FF;
    end;
    
    
    //测试
    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;
    
  • 相关阅读:
    Maven简介,安装,配置
    Centos 安装 Tomcat 并验证
    Centos 安装 jdk 和配置环境变量
    java基本数据类型
    centos7中docker安装并启动jpress
    在docker中访问网络
    在docker中运行一个nginx
    Centos7 安装docker 及使用其简单命令
    Centos7安装dnf工具管理rpm包
    C#获取外网IP地址;C#获取所在IP城市地址
  • 原文地址:https://www.cnblogs.com/del/p/1053778.html
Copyright © 2011-2022 走看看