程序是怎样跑起来的1.6 通过地址和索引实现数组_程序是怎样跑起来的1.6 通过地址和索引实现数组试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 程序是怎样跑起来的 > 1.6 通过地址和索引实现数组

程序是怎样跑起来的——1.6 通过地址和索引实现数组

接下来我们看一下表1-1中出现的 基址寄存器_和 变址寄存器_。通过这两个寄存器,我们可以对主内存上特定的内存区域进行划分,从而实现类似于数组①的操作。 首先,我们用十六进制数②将计算机内存上00000000~FFFFFFFF的地址划分出来。那么,凡是该范围的内存区域,只要有一个32位的寄存器,即可查看全部的内存地址。但如果想要像数组那样分割特定的内存区域以达到连续查看的目的,使用两个寄存器会更方便些。例如,查看10000000地址~1000FFFF地址时,如图1-9所示,可以将10000000存入基址寄存器,并使变址寄存器的值在00000000~0000FFFF变化。CPU则会把基址寄存器+变址寄存器的值解释为实际查看的内存地址。变址寄存器的值就相当于高级编程语言程序中数组的索引功能。 ①数组是指同样长度的数据在内存中进行连续排列的数据构造。用一个数组名来表示全体数据,通过索引来区分数组的各个数据(元素)。例如,一个10个元素的数组a,其中的各个数据就用a[0]~a[9]来表示。[]内的数字0~9就是索引。 ② 二进制数的位数较多、不易理解时,通常使用十六进制数来代替二进制数。这是一种数到16就进位的计数方式。我们用A~F来分别表示10~15,那么,二进制数的4位(0000 ~FFFF)就可以用十六进制 图1-9 综合使用地址和索引来决定实际地址

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《程序是怎样跑起来的》其他试读目录

• 1.1 CPU的内部结构解析
• 1.2 CPU是寄存器的集合体
• 1.3 决定程序流程的程序计数器
• 1.4 条件分支和循环机制
• 1.5 函数的调用机制
• 1.6 通过地址和索引实现数组 [当前]
• 1.7 CPU的处理其实很简单