寄存器与存储器 1. 寄存器功能 . 寄存器的一般用途和专用用途 . CS:IP 控制程序执行流程 . SS:SP 提供堆栈栈顶单元地址 . DS:BX(SI,DI) 提供数据段内单元地址 . SS:BP 提供堆栈内单元地址 . ES:BX(SI,DI) 提供附加段内单元地址 . AX,CX,BX和 ...
分类:
其他好文 时间:
2018-10-21 12:13:45
阅读次数:
99
1.modutils中提供了相关的insmod,rmmod,modinfo工具2.modprobe在识别出目标模块所依赖模块后也是调用insmod.3.从外部看模块只是普通可重定位的目标文件。可重定位文件的函数都不会引用绝对地址,而只是指向代码中的相对地址,因此可以在内存 中的任意偏移地址加载。4. ...
分类:
系统相关 时间:
2018-10-03 20:38:02
阅读次数:
260
我们编译链接运行这个程序,发现程序能够正常返回,所以说 这两条语句一定有执行。 注: 在内存中存储为 , 也就是 的机器码, 代表 ; 是偏移地址的补码表示,转化成十进制为 。 注:机器码 表示从该处往上跳十个字节。因为该指令( )长度为两个字节,该指令执行后 IP 寄存器的值为 。 程序正常结束: ...
分类:
其他好文 时间:
2018-09-19 21:57:10
阅读次数:
150
配合BootLoader的APP程序 SCB->VTOR = 0x0803C004; 这里最后还要加上4的原因是 向量表的复位向量地址是4 0地址存的是栈顶 ...
分类:
移动开发 时间:
2018-09-18 17:20:55
阅读次数:
148
linux3.2 spi框架分析 刘术河 2017.04.12 写oled的驱动时,核心板用的是am335x,spi用的是ti自带的spi驱动框架,为了弄清楚spi底层工作流程,特意分析了spi驱动框架 g:\嵌入式\linux-3.2.0\arch\arm\mach-omap2\Board-am3 ...
分类:
系统相关 时间:
2018-09-08 15:35:05
阅读次数:
239
引入 最近上课的时候老师问我们下面这段代码: 中a和l在内存中占几个字节,它们的排列方式是连续在一起的还是分开的? 占多少字节如果是内存对齐的话会是4字节、设置 的话则是3字节;但是他们的排列方式还真的不清楚,所以今天研究一下。 解答 首先我们先回答问题,再介绍一下原理,先写个程序看一下: 查看一下 ...
分类:
其他好文 时间:
2018-09-05 09:11:11
阅读次数:
140
载入程序,按 Alt+M 查看内存空间 双击进入程序的 PE 头 这些为 DOS 环境下才会运行的 这个执行 PE 的地址,PE 结构的偏移地址为 C0 找到这个地址 以 PE 开头 SizeOfCode 为代码段的大小 SizeOfInitializedData 为所有含已初始化数据的块的大小 这 ...
分类:
其他好文 时间:
2018-09-03 22:58:21
阅读次数:
698
设备文件I/OPorts:I/O设备地址linux下一切皆文件设备类型:块设备:block,存取单位“块”,磁盘字符设备:char,存取单位“字符”,键盘设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信设备号码:主设备号:majornumber,标识设备类型次设备号:minornumber,标识同一类型下的不同设备磁盘设备的设备文件命名:/dev/dev_fileSCSI,SA
分类:
其他好文 时间:
2018-08-10 21:20:30
阅读次数:
186
[TOC] LockSupport源码分析 LockSupport是Java6引入的一个工具类, 用于挂起和唤醒线程; LockSupport 通过提供park() 和 unpark() 方法实现阻塞线程和解除线程阻塞, 实现阻塞与解除阻塞是基于许可(permit), permit相当于一个信号量, ...
分类:
其他好文 时间:
2018-07-27 01:29:30
阅读次数:
311
前文介绍了导入表hook,现在来说下导出表的hook。导出表的hook的流程如下。1、获取动态库基值 2、计算program header table实际地址 通过ELF文件头获取到程序表头的偏移地址及表头的个数 3、遍历program header table,ptype等于2即为dynameic ...
分类:
移动开发 时间:
2018-07-15 13:48:17
阅读次数:
342