Miracle

有梦想就不会觉得苦。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年7月13日

摘要: 有了动态内存分配的基础,要实现链表就不难了。 所谓链表,就是用一组任意的存储单元存储线性表元素的一种数据结构。链表又分为单链表、双向链表和循环链表等。我们先讲讲单链表。所谓单链表,是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分: 1、数据域:用来存储本身数据 2、链域或称为指针域:用来存储下一个结点地址或者说指向其直接后继的指针。 例:typedef struct node{ char name[20]; struct node *link;}stud; 这样就定义了一个单链表的结构,其中char name[20]是一个用来存储姓名的字符型数组,指针*link是一个用来存储其直 阅读全文

posted @ 2011-07-13 23:42 gsky 阅读(139) 评论(0) 推荐(0) 编辑

2011年6月9日

摘要: linux内核源代码情景分析 非扫描版 上下册合订版 字清楚 带书签 1575页 pdfhttp://download.csdn.net/source/2002579*************************************************************linux设备驱动开发详解 pdf,针对ARM9 s3c2410 经典 宋宝华http://download.csdn.net/source/3135744随书光盘:http://download.csdn.net/source/2530660********************************** 阅读全文

posted @ 2011-06-09 14:51 gsky 阅读(339) 评论(0) 推荐(0) 编辑

2011年6月8日

摘要: http://dev.csdn.net/article/65/65909.shtmSQL 里面最常用的命令是 SELECT 语句,用于检索数据。语法是:SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expression [ AS output_name ] [, ...] [ INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table ] [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP BY expression [, ...] 阅读全文

posted @ 2011-06-08 22:39 gsky 阅读(2010) 评论(0) 推荐(0) 编辑

2011年6月1日

摘要: arm体系结构与汇编100问第1章体系结构第1问:Q:请问在初始化CPU堆栈的时候一开始在执行movr0,LR这句指令时处理器是什么模式A:复位后的模式,即管理模式.第2问:Q:请教:MOV中的8位图立即数,是怎么一回事0xF0000001是怎么来的A:是循环右移,就是一个0—255之间的数左移或右移偶数位的来的,也就是这个数除以4一直除,直到在0-255的范围内它是整数就说明是可以的!A:8位数(0-255)循环左移或循环右移偶数位得到的,F0000001既是0x1F循环右移4位,符合规范,所以是正确的.这样做是因为指令长度的限制,不可能把32位立即数放在32位的指令中.移位偶数也是这个原因 阅读全文

posted @ 2011-06-01 22:06 gsky 阅读(1037) 评论(0) 推荐(0) 编辑

摘要: 在ARM处理器的汇编语言中,对指令语法格式中的<shifter_operand>的常数表达式有这样的规定:“该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。” 首先从ARM指令系统的语法格式说起。一条ARM指令语法格式分为如下几个部分: <opcode>{<cond>}{S} <Rd>,<Rn>{,<shifter_operand>}其中,<>内的项是必须的,{}内的项是可选的,如<opcode>是指令助记符,是必须的,而{<cond>}为指令执行条件,是可选的,如 阅读全文

posted @ 2011-06-01 21:57 gsky 阅读(304) 评论(0) 推荐(0) 编辑

摘要: 带状态切换的跳转指令:BX 汇编格式: BX{<cond>} Rm 功 能: BX 指令跳转到指令中所指定的目标地址,并实现状态的切换。Rm 是一个表达目标地址的寄存器。当Rm 中的最低位Rm[0] 为 1 时,强制程序从ARM 指令状态跳到Thumb 指令状态;当 Rm 中的最低位Rm[0]为0 时,强制程序从Thumb 指令状态跳到ARM 指令状态。 BX 指令示例 CODE32 ;ARM 程序段,32 位编码 arm1 ADR R0,thumb1+1 ;伪指令,把语句标号thumb1 所在地址 ;赋给R0 ,末位R0[0] 置1 ,要跳转THUMB 指令集;THUMB 指令集 阅读全文

posted @ 2011-06-01 00:51 gsky 阅读(2690) 评论(0) 推荐(0) 编辑

2011年5月30日

摘要: 同学们在学习ARM指令时,多数都会对adr和ldr这两个命令产生疑惑,那他们究竟有什么区别呢?其实这两个都是伪指令:adr是小范围的地址读取伪指令,ldr是大范围的读取地址伪指令。可实际上adr是将基于PC相对偏移的地址值或基于寄存器相对地址值读取的为指令,而ldr用于加载32为立即数或一个地址到指定的寄存器中。到这儿就会看到其中的区别了。如果在程序中想加载某个函数或者某个在联接时候指定的地址时请使用adr,例如在lds中需要重新定位的地址。当加载32为的立即数或外部地址时请用ldr。我给大家先举个例子:AREA test,CODE,READONLY ENTRYldr r0,_start ad 阅读全文

posted @ 2011-05-30 23:16 gsky 阅读(4368) 评论(0) 推荐(0) 编辑

2011年5月26日

摘要: CPSR有4个8位区域:标志域(F)、状态域(S)、扩展域(X)、控制域(C) C 控制域屏蔽字节(psr[7:0])X 扩展域屏蔽字节(psr[15:8])S 状态域屏蔽字节(psr[23:16])F 标志域屏蔽字节(psr[31:24]) 常用于MRS或MSR指令,用于psr中的值转移到寄存器或把寄存器的内容加载到psr中. 如: MSR CPSR_c,#0xd3 阅读全文

posted @ 2011-05-26 22:21 gsky 阅读(381) 评论(0) 推荐(0) 编辑

2011年5月25日

摘要: ;; 数据块拷贝; AREA cpData, DATA, READWRITE align 4 ;四字节对齐buf1 space 12345 align 4 ;四字节对齐buf2 space 12345 AREA cpCode, CODE, READONLY ENTRYstart ;初始化测试数据 ldr r0, =12345-1 ldr r1, =buf1initloop strb r0, [r1... 阅读全文

posted @ 2011-05-25 21:51 gsky 阅读(180) 评论(0) 推荐(0) 编辑

摘要: 深夜了,不想多说,自己参与几次创业经历深刻而细致,把自己的一些所感留给大家思考下。 创业团队尤其是互联网创业团队很容易犯一些形而上的错误,有时候甚至是病态的,很多创业团队在病态中违背常识而崩溃。 1、不知道用户是谁,在哪里 这是一个产品的起点,但很多创业团队只是粗糙地、理所当然地认为用户群是什么,而没有去做一些调研和模型分析,最后做出来的东西成了孤芳自赏的玩物。 2、抛弃自己的大脑 创业者很多时... 阅读全文

posted @ 2011-05-25 20:16 gsky 阅读(140) 评论(0) 推荐(0) 编辑