小白进阶之路之汇编2

小白进阶之路之汇编2

进制转换基础

  1. 计算机只认识二进制,汇编中一般使用十六进制表示数据 是为了方便程序员阅读和开发
  2. 二进制和十六进制转换
 0101 1100 1001 0010//二进制(每四个分一组)
    
     5    C    9    2  //每四位二进制数对应一位十六进制表示数据(0~F)

指令集不一样,细节不一样

在x86汇编代码中,十六进制写法如下:

mov(传送、赋值的意思将2000H赋值给ax ) ax,2000H ;h结尾表示十六进制,h不区分大小写

在ARM汇编代码中,十六进制写法如下:

mov R0,#0x2020202A ;使用0x开头表示 #是固定写法

数据单位

  • 位:一个二进制位
  • 字节:8个二进制位表示一个字节(KB、MB、GB)

由于八个二进制位转换成十六进制后是两位十六进制数,所以两个十六进制数占用一个字节`

0x20 ;占用一个字节(0x2000占用两个字节)
或者
20H  ;占用一个字节

在计算机中最小的数据单位是位;在内存中,最小的数据单位是字节,一个内存单元占用一个字节,内存单元就是一个存放数据的容器。

内存单元(一块空间)和地址

每个内存单元中存储两个十六进制数,地址即代表内存单元所处位置,通常使用十六进制表示(也叫物理地址)

CPU想要读写内存中的数据,需要通过地址找需要对应的内存单元,即寻址。<根据物理地址找到内存单元所处位置,用于存储和读取数据>

与内存单元数量有关的因素:

  • 内存条容量:内存单元占的空间是固定的,so,内存容量越大,内存单元的数量越多。

地址标号

0x1
0x2
...
0x10
0x20
...
0x100
0x200
...
0x1000
0x2000
...
0xFFFF(对应十进制为65535)

最大值由什么决定

  • 内存单元数量
  • 地址所填位置的空间大小<地址总线宽度(数量)>
  • CPU的运算能力

如果CPU是16位的,且地址总线也是16位,那么最大只能运算表示16位数即0xFFFF;

如果CPU是32位的,且地址总线也是32位,那么最大只能运算表示32位数即0xFFFFFFFF;

如果CPU是64位的,且地址总线也是64位,那么最大只能运算表示64位数即0xFFFFFFFFFFFFFFFF

在8086CPU中,CPU是16位,地质总线是20位,本来最大只能表示16位地址值,为了让它能表示20位地址,使用了段地址*16+偏移地址的形式来表示20位地址。

物理地址=段地址*16+偏移地址

如果要表示一个20位物理地址0xFFFFA,可以有一下四种写法:

0xFFFFA=0xFFFF*16+0x000A//FFFF0  10*10=100(10左移一位)
0xFFFFA=0xFFF0*16+0x00FA
0xFFFFA=0xFF00*16+0X0FFA
0xFFFFA=0xF000*16+0xFFFA

因此计算机的寻址能力不单单和CPU有关还和地址总线有关,32位操作系统对应32位地址总线,so,即便CPU64位如果只装了32位操作系统,无法完全发挥CPU和内存的性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值