文档章节

初学 Delphi 嵌入汇编[16] - 进制的表示方法

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 405
阅读 14
收藏 0
关于进制:

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

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

计算机为什么会使用 8进制和 16进制呢? 因为: 2 3=8; 2 4=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;

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/01/25/1053778.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
关于C51与汇编的实用混合编程

最近研究了下51的混合编程,总结一下吧! 1.生成C51的汇编源码 右键单击项目文件,在弹出的opinion for file ....选择上生成SRC文件,这个可以产生汇编源文件,也能允许在C51中嵌入A51,即汇...

文剑Boy
2014/05/01
0
0
[汇编]神奇的进制转换以及计算器的使用

在学习汇编的时候,可能很多朋友很头疼的就是进制间转换问题 我在这里大概说一下比较简单的转换方法,就是计算器,我只说一下Windows下默认的计算器。Linux的朋友可以在网上搜搜在线的,有很...

陈冠羽
2013/04/22
0
5
delphi 进制转换

----二进制到16进制 function BinaryToHex(strBinary: string): string; var vD: Byte; i: integer; vHextStr: String; vP: PChar; vLen: integer; begin vLen := length(strBinary); if vLe......

鹅倌
2017/06/16
0
0
怎么判断以太坊地址是不是智能合约?

使用web3.js web3.eth.getCode()方法返回指定地址上代码的16进制字符串,由于普通账户地址处没有代码,因此将仅返回16进制前缀。利用这个我们可以进行判断,例如: 在solidity中实现 在合约内...

os2man
04/28
0
0
tcpdump抓包命令

该命令是抓包分析工具,可以将数据包的头或者是整个包抓取下来进行分析,支持针对特定协议、主机进行过滤,同时支持逻辑操作。 #抓取本机第一个网络接口通常是eth0上所有的包tcpdump 抓取指定...

linuxjavachen
2017/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python爬虫:Scrapy框架的安装和基本使用

大家好,本篇文章我们来看一下强大的Python爬虫框架Scrapy。Scrapy是一个使用简单,功能强大的异步爬虫框架,我们先来看看他的安装。 Scrapy的安装 Scrapy的安装是很麻烦的,对于一些想使用S...

糖宝lsh
35分钟前
3
0
Android Dialog几种对话框

1,普通对话框 2,单选对话框 3,多选对话框 4,日期选择对话框 5,时间选择对话框 6,日期选择对话框 7,进度条对话框 普通对话框 AlertDialog.Builder builder = new AlertDialog.Builde...

lanyu96
41分钟前
1
0
awk命令

-F选项的作用是指定分隔符。如果不加-F选项,则以空格或者tab为分隔符。print为打印操作,用来打印某个字段。$1为第1个字段,$2为第2个字段,以此类推。但是$0比较特殊,它表示整行: [root@cen...

野雪球
49分钟前
2
0
一切都靠大数据:滴滴已封禁4.3万人员、车辆

这段时间以来,滴滴出行相继出炉了各种整改措施,包括自身安全建设和外部社会共建,昨日就刚刚宣布正在筹备建立安全监督顾问委员会。 据媒体最新报道,9月30日,上海市交通委员会执法总队、上...

linuxCool
今天
5
0
awk命令用法介绍

10月18日任务 9.6/9.7 awk 1.awk(上)(下) 1.awk 分段操作功能 指定分隔符,并把第一段打印出来,不会改动文件内容 将所有内容打印出来 awk 没有指定分隔符号,则会默认用空格或者空白字符...

hhpuppy
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部