变量的破碎类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。
有三个地方可以用于存在变量:普通内存、运行时堆栈、硬件寄存器。
变量的缺省存储类型取决于它的声明位置。凡是在任何代码块之外声明的变量问题存储于静态内存中,也就是不属于堆栈的内存,这类变量称...
分类:
其他好文 时间:
2014-07-22 23:11:55
阅读次数:
277
1.SI和DI
功能和bx相似,只是不能分成2个8寄存器使用。
2INC ax指令
将寄存器的内容加1
mov ax,0
inc ax
执行完毕ax=1
3.bx,si,di,bp寄存器
CPU的核心是寄存器,学习汇编这么一段时间,我也深刻体会到对寄存器理解的重要性
(1)在8086CPU中,只有这4个寄存器可以在[...]中来进行内存单元的寻址。比如下面指令是正...
分类:
其他好文 时间:
2014-05-02 23:41:43
阅读次数:
430
1.前面我们写的程序中,只有一个代码段,我们先来在代码段中使用数据,看看和单独一个数据段存放数据有什么差别。
考虑这样一个问题,编程计算以下8个数据的和,结果存放在ax寄存器中:
0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
我们希望循环进行累加,所以要将数据存放在一个连续内存当中,如何将这些数据存储在一组地址连续的内存单元中呢?我们可以用指...
分类:
其他好文 时间:
2014-05-01 17:47:20
阅读次数:
318
Bandwidth是一款内存带宽基准测试程序,主要针对x86及x86_64平台,通过顺序读写与随机读写不同大小的数据块,测试系统的内存带宽性能。
Bandwidth提供了一套汇编语言实现的支持库,用来完成体系结构相关的特定操作,例如读取某些寄存器的内容。
Bandwidth利用该汇编库,检测当前系统CPU的型号及支持的特性,并选择相应的工作模式,如笔者机器的CPU为:...
分类:
其他好文 时间:
2014-05-01 17:12:45
阅读次数:
457
一、java虚拟机内存原型寄存器:我们在程序中无法控制。栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM存储:硬盘等永久存储空间。二、常量池(constant
pool) 常....
分类:
编程语言 时间:
2014-05-01 06:54:37
阅读次数:
390
对于第一代1和0,要是真的用它们变成的话,我感觉是件恐怖的事,不过还好,没有经历过满屋子堆满纸带的年代。对于汇编,现在也只能想起 Mov AX,BX 来,但是学习汇编之后,会给你这样一个感觉,全世界的语言我都能学会,因为直接对地址和寄存器操作即难又繁琐,而不涉及具体数据读取的高级语言是这么的好。 结构化程序设计代表是C,可惜只学了一点儿语法基础。当进入了面向对象阶段,感觉是个解放哎~ 如果一路学过这些语言,这种感觉就像是感慨人类社会的进化一样,从原始社会,到奴隶社会,到封建社会,再到现代社会,最根本的变...
分类:
Web程序 时间:
2014-04-30 22:34:38
阅读次数:
398
寄存器分配,是通过将程序变量尽可能地分配到寄存器,从而提高程序执行速度的一种方法。寄存器是编译器优化中最为重要的问题之一(好的寄存器分配能够提高程序执行速度超过250%);也是编译器理论中最热点的研究领域之一(研究界已经提出来大量寄存器分配相关的算法)。1.
图着色(graph coloring)方...
分类:
其他好文 时间:
2014-04-29 14:25:08
阅读次数:
530
2.3存储管理
存储器管理的对象是主存储器(主存、内存)。
主要功能包括:分配 回收主存空间 提高主存利用率扩充主存 对主存信息实现有效保护
2.3.1 基本概念
1. 存储器的结构
一般结构有两种:寄存器—主存—外存
寄存器—缓存—主存—外存
存储组织的功能:是在存储技术和CPU寻址技术许可的范围内组织合理的存储结构,
使得各层次的存储器都处于均衡的繁忙状态...
分类:
其他好文 时间:
2014-04-29 13:15:21
阅读次数:
392
1.段寄存器
8086CPU有4个段寄存器:CS、DS、SS、ES。当8086CPU访问内存时,由这4个段寄存器提供内存单元的段地址。
CS和IP是8086中最关键的寄存器,他们指示了CPU当前要读取指令的地址。CS是代码段寄存器,IP为指令指针寄存器。在8086PC机中,任意时刻,设CS中的内容是M,IP中的内容是N,8086CPU将从内存地址:M*16+N处读取指令并执行。也可以这...
分类:
其他好文 时间:
2014-04-29 13:13:21
阅读次数:
333
Java 内存分配
一个完整的Java程序运行过程会涉及以下内存区域:
l 寄存器:JVM内部虚拟寄存器,存取速度非常快,程序不可控制。
l 栈:保存局部变量的值,包括:1.用来保存基本数据类型的值;2.保存类的实例,即堆区对象的引用(指针)。也可以用来保存加载方法时的帧。
l 堆:用来存放动态产生的数据,比如new出来的对象。注意创建出来的对象只包含属于各自的成员变量,并不包括成员方法。...
分类:
编程语言 时间:
2014-04-27 22:13:18
阅读次数:
349