Miracle

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

2011年5月23日

摘要: ARM 处理器是加载/ 存储体系结构的处理器,对存储器的访问只能通过加载和存储指令实现。 1. 数据加载与存储的方向问题 数据加载与存储( Load-store )指令用于在存储器和处理器的寄存器之间传送数据。 数据加载与存储指令共有三种类型:单寄存器加载与存储指令、多寄存器加载与存储指令和交换指令。 2. 数据加载与存储指令的寻址 数据加载与存储类指令的基本格式为 opcode{<cond>}... 阅读全文

posted @ 2011-05-23 21:55 gsky 阅读(445) 评论(0) 推荐(0)

摘要: ;; 1-2+3-4+5...+99-100; AREA sum2Code, CODE, READONLY ENTRYstart mov r0, #0 ;保存结果 mov r1, #1 ;循环计数器sum2loop ;特点奇数加偶数减 tst r1, #1 ;测试奇偶性 addne r0, r0, r1 ;加奇数 subeq r0, r0, r1 ;减偶数 add r1, r1, #1 cmp r... 阅读全文

posted @ 2011-05-23 21:40 gsky 阅读(411) 评论(0) 推荐(0)

摘要: ;; 代码演示; ;定义数据段 AREA p1Data, DATA, READWRITEbuf1 dcd 1,2,3,4,5,6 ;定义字buf2 dcw 1,2,3,4,5,6 ;定义半字buf3 dcb 1,2,3,4,5,6 ;定义字节str dcb "123456", 0 ;定义字符串 align 4buf4 space 256 ;分配256字节空间 AREA p1Code, CODE, READONLY ENTRYstart ;buf1 copy to buf4 ldr r0, =buf1 ;源基址 ldr r1, =buf4 ;目的基址 mov r2, #0 ; 阅读全文

posted @ 2011-05-23 21:36 gsky 阅读(372) 评论(0) 推荐(0)

摘要: ;; 求 19!; AREA jcCode, CODE, READONLY ENTRYstart mov r0, #1 ;结果低32位 mov r1, #0 ;结果高32 mov r2, #19 ;循环计数器jcloop umull r0, r3, r2, r0; [r3 r0] <- r0 * r2 mla r1, r2, r1, r3; r1 <- r1 * r2 + r3 subs r2, ... 阅读全文

posted @ 2011-05-23 21:32 gsky 阅读(148) 评论(0) 推荐(0)

摘要: int a[10];a[10]={1,2,4,5,1,5,1,2,3,4} //出错,因为此时a[10]代表一个元素,而且是已经越界的元素。 int a[10]; 数组a里全是随机值int a[10]={}; 数组a里全是0int a[10]={1,5,2,1,13}; 后面5个全是0只要定义数组时有=,就会初始化。 阅读全文

posted @ 2011-05-23 16:49 gsky 阅读(144) 评论(0) 推荐(0)

摘要: 嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁剪,对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。 嵌入式系统与一般PC系统有何区别? 1 嵌入式系统专用于特定的应用,而PC是通用计算机。 2 使用多种类型的处理器和处理器体系结构 3 关注成本 4 大多有功耗约束 5 经常在极端的环境下运行 6 系统资源比PC少得多 7 需要专用工具和方法进行开发设计 8 嵌入式系统的数量... 阅读全文

posted @ 2011-05-23 16:47 gsky 阅读(441) 评论(0) 推荐(0)

摘要: #include <stdio.h>#include <stdlib.h>#include <string.h>struct student //定义一个结构体,存放的是学生成绩档案{ int num; char name[12]; float score; struct student *next;};typedef struct student STU; //声明STU代表struct stu... 阅读全文

posted @ 2011-05-23 16:46 gsky 阅读(710) 评论(0) 推荐(0)

摘要: shell脚本是一个包含一系列命令序列的文本文件。当运行这个脚本文件时,文件中包含的命令序列将得到执行。实际上和在shell中输入命令是一样的效果。 在Shell中引号分为2种:单引号、双引号。 (1)双引号 由双引号括起来的字符,除$、倒引号和反斜线(\)仍保留其特殊功能外,其余字符通常作为普通字符对待。 (2)单引号 由单引号括起来的字符都作为普通字符出现。 一个例子: #!/bin/sh ... 阅读全文

posted @ 2011-05-23 16:40 gsky 阅读(169) 评论(0) 推荐(0)

摘要: 2010年初写过一篇博客(我们是一群和平年代充满浮躁与抱怨的程序员),一年过去了,社会好像更浮躁,也有网友问我这方面的问题,于是有了下面这篇文章,再次写给我们这些刚入行浮躁的程序员,如何成长,以下是列出了一些成长的心得,我们不必每条都去实践,但是优秀的程序员成长过程中总会实践里面的几条。 多做项目,多思考 不要害怕做事,刚毕业的同学最缺的就是工作经验,乱七八糟的项目能让你很快就了解了一个公司的业务... 阅读全文

posted @ 2011-05-23 16:40 gsky 阅读(116) 评论(0) 推荐(0)

摘要: 你要是天天一大早六点起床,吃顿好饭,奔去教室背两篇新三,八点坐直在教室的前排,使劲不分心不玩手机地听完三节还是四节课,课间练字背单词看报纸,放学奔去食堂抢份好饭,回宿舍吃完,洗洗衣服拖拖地消化下,再听VOA,一倍速听完听1.5,1.5听完听2倍,听困了上床歇中觉,下午继续坐直在前排听完三节课,放学去食堂抢个馒头奔回寝室啃完,收拾好书包就去教室上自习,拼到十点半赶在关门前回宿舍,洗漱完了继续听VO... 阅读全文

posted @ 2011-05-23 16:39 gsky 阅读(234) 评论(0) 推荐(1)

摘要: 循环体内定义的变量在外面不能使用,因为这些变量都在栈里面,运行结束会自动销毁。(不能返回函数中定义的变量和指针) 全局变量没初始化时自动为0。在数据段里面。 局部变量没初始化时为随机值。在栈里面。 使用指针时,给指针赋值,记得先用malloc分配空间。 使用malloc分配的空间的值默认是0; 阅读全文

posted @ 2011-05-23 16:34 gsky 阅读(132) 评论(0) 推荐(0)

摘要: #include<stdio.h>int main(){ int a[5][5]={1,3,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; int (*p)[5]; //p是一个数组指针,它指向一个数组,这个数组里面有5个元素。 p=a; // p是指向a[0][5]这个小数组的首地址,不是指向a[0][0]这个元素的... 阅读全文

posted @ 2011-05-23 16:33 gsky 阅读(172) 评论(0) 推荐(0)

摘要: 1 简单地说,shell就是命令解析器,将用户输入的指令转换为相应的机器能够运行的程序。 2 Shell是Linux系统中的一个重要的层次,它是用户与系统交互作用的界面。 Shell除了作为命令解释程序以外,还是一种高级程序设计语言。利用Shell程序设计语言可以编写出功能很强、但代码简单的程序。 3 shell脚本是一个包含一系列命令序列的文本文件。当运行这个脚本文件时,文件中包含的命令序列将... 阅读全文

posted @ 2011-05-23 16:32 gsky 阅读(298) 评论(0) 推荐(0)

摘要: gcc是一个工具链(集),是由GNU组织开发的。 该工具链是由binutils,gcc,glibc组成。 binutils是由一组编译,连接,汇编和其他调试目的程序组成。如ar用于生成静态库,size用于列出目标文件的每一段的大小。 gcc是GNU的C与C++的编译器,Linux环境下默认的C语言编译器。 glibc是GNU的C语言标准函数库。该库实行了Linux的系统函数,如open,也实现了... 阅读全文

posted @ 2011-05-23 16:31 gsky 阅读(234) 评论(0) 推荐(0)

摘要: 1 对于Linux系统中的常见文件: 我们可以使用touch命令来创建普通文件 当使用chmod命令可以赋予文件可执行的权限 使用mkdir创建目录 使用ln命令创建链接文件 其它文件如“/dev”目录下的设备文件等 rm删除文件 rm -f 不用确认,直接删除文件 rmdir 删除文件夹 2 Alias--定义别名 alias ls=‘ls -a’ unalias ls 3 文件复制cp: c... 阅读全文

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

摘要: 1、真正有气质的淑女,从不炫耀她所拥有的一切,她不告诉人她读过什么书,去过什么地方,有多少件衣服,买过什么珠宝,因为她没有自卑感。《圆舞》2、如此情深,却难以启齿。原来你若真爱一个人,内心酸涩,反而会说不出话来,甜言蜜语,多数说给不相干的人听。《她的二三事》3、能够说出的委屈,便不算委屈;能够抢走的爱人,便不算爱人。《开到荼蘼》4、爱得不够,才借口多多。《紫薇愿》5、最佳的报复不是仇恨,而是打心底... 阅读全文

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

摘要: 1 进程就是指系统正在执行的程序,每当一个进程启动时系统会指定一个PID(进程号)给该进程,如果要对进程管理都必须以PID最为对象,而不是进程名称。 Linux系统中的程序不同于Windows中是以扩展名来判断,而是此文件是否有可执行的权限。常见的可执行的程序有两种: 二进制可执行程序: 二进制可执行程序是真正包含可执行代码的程序文件,类似于Windows中的“.com或.exe” 可执行脚本:... 阅读全文

posted @ 2011-05-23 16:28 gsky 阅读(366) 评论(0) 推荐(0)

摘要: 1 make是由GNU开发的一个自动化编译工具。 make 类似编程语言,可以使用变量,控制结构,函数等编程语言特性。 make的最大特点是其执行由所编译文件的依赖关系驱动。 学习make就是学习怎样编写makefile文件。 2 makefile文件的名字最好是makefile或者Makefile. Makefile文件主要由以下几个元素组成。 规则 变量的定义 文件指示 注释 使用make命... 阅读全文

posted @ 2011-05-23 16:26 gsky 阅读(201) 评论(0) 推荐(1)

摘要: #include <stdio.h>#include <stdlib.h>#include <time.h>int main(void){ time_t tt; struct tm * ttm; //获取本机时间 tt = time(NULL); printf("UTC time = %ld\n", tt); printf("current time is: %s", ctime(&tt)); /... 阅读全文

posted @ 2011-05-23 16:23 gsky 阅读(141) 评论(0) 推荐(0)

摘要: 1 进程是系统中程序执行和资源分配的基本单位。每个进程有自己的数据段,代码段和堆栈段。 线程通常叫做轻型的进程。线程是在共享内存空间中并发执行的多道执行路径, 它们共享一个进程的资源。 2 同一个进程中的线程的共性:多个线程将共享同一个进程虚拟空间。 线程共享的环境包括:进程代码段,进程的公有数据(利用这些共享的数据,线程很容易实现相互之间的通讯),进程打开的文件描述符,信号的处理器,进程的当前目录和进程用户ID与进程组ID。 3 线程的个性: 线程ID:每个线程都有自己的线程ID,这个ID在本进程中是唯一的。 寄存器组的值:一个线程切换到另一个线程上时,必须将原有的线程的寄存器集合的状态保. 阅读全文

posted @ 2011-05-23 16:17 gsky 阅读(156) 评论(0) 推荐(0)