1. 内存寻址方式: 确定访问内存存储单元偏移地址方式,称为寻址方式。 名称 格式 直接寻址 [偏移量值] 寄存器简介寻址 [基址寄存器/变址寄存器] 寄存器相对寻址 [基址寄存器/变址寄存器+偏移量值] 基址变址寻址 [基址寄存器+变址寄存器] 相对基址变址寻址 [基址寄存器+变址寄存器+偏移量值 ...
分类:
其他好文 时间:
2016-04-02 10:41:24
阅读次数:
146
-r 查看当前寄存器的状态, -r 寄存器x 可以改变寄存器x的值。 -d 可以查看内存 三种使用方法:1.-d显示之后128个字节 2.-d 段地址:偏移地址,从这段地址开始后的128字节 3.-d 段地址:偏移地址 偏移地址,显示两个地址间的字节。 -u 和-d用法一样,不过是查看字节对应的汇编 ...
分类:
其他好文 时间:
2016-04-01 12:54:27
阅读次数:
134
最后一次更新:2016-03-23 19:51:12 寄存器(内存访问) 字单元:字型数据在地址连续的两个内存单元中存储,比如2 3内存单元,2为该字型起始单元,则称该字单元为2地址地址单元 用mov指令访问内存单元,可以在mov指令中只给出单元的偏移地址,此时段地址默认在DS寄存器中 [addre ...
分类:
其他好文 时间:
2016-03-23 22:08:02
阅读次数:
158
内存单元存储空间一维线性,每个内存单元唯一的物理地址 16bit: 1.运算器一次最多处理 2.寄存器最大宽度 3.寄存器与运算器之间的通路 物理地址(20)=段地址(16)*16(20bit)+偏移地址(16) *16=左移4位 左移x位=*2^x CPU 可以用不同的段地址和偏移地址形成统一个物
分类:
其他好文 时间:
2016-03-19 19:25:08
阅读次数:
119
1、在分配空间上: 数组分配在一块连续的数据空间上,因此在分配空间时必须确定大小,链表是一块不连续的动态空间,通过指针练连接,因此长度可变; 2、数组 优点: 1、可以利用偏移地址来访问元素,效率高,为O(1); 2、可以使用折半方法查找元素,效率较高; 缺点: 1、空间连续,存储效率低 2、插入和
分类:
编程语言 时间:
2016-03-09 12:53:58
阅读次数:
296
在上一篇文章中。我们列出了计算java对象大小的几个结论以及jol工具的使用,jol工具的源代码有兴趣的能够去看下。如今我们利用JDK中的sun.misc.Unsafe来计算下字段的偏移地址,一则验证下之前文章中的结论,再则跟jol输出结果对照下。怎样获取sun.misc.Unsafe对象。能够參考
分类:
编程语言 时间:
2016-02-22 16:39:33
阅读次数:
575
字单元: 存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。 在8086PC中,内存地址由段地址和偏移地址组成。 8086CPU,DS寄存器和存放要访问的数据的段地址。 [...]存放的是地址单元,但是
分类:
编程语言 时间:
2016-02-15 10:33:01
阅读次数:
138
.text:00001260 A3 04 00 EB BL sub_24F4当前地址+ (偏移 > 2偏移 = (0x24F4 - 0x1260 - 8) / 4 = 0x4A3假设跳转指令处的地址是A,跳转目标处的地址是B.B,BL指令保存的是偏移地址,这个地址的计...
分类:
其他好文 时间:
2016-01-05 12:41:40
阅读次数:
170
一,研究过程:在main函数中添加语句,使下面的程序可以打印出所有函数的段地址和偏移地址;具体例程如下:Inta;Voidf1(void){A=1;}Voidf2(void){A=2;}Voidf3(void){A=3;}Main(){intaddr=(int)f1;int(*P)()=f1;pri...
分类:
编程语言 时间:
2015-12-09 11:54:07
阅读次数:
221
直接上代码(这里列出C++和Delphi的代码),Delphi代码中包含导入及导出文件和函数列表,PE结构可参阅资料,很多很详细,需要注意的是,本例中是映射到内存,不是通过PE装载器装入的,所以对于节的RVA地址需要转换成为文件偏移地址。Delphi代码[delphi]view plaincopyu...
分类:
其他好文 时间:
2015-11-28 00:52:22
阅读次数:
222