一个程序在计算机中到底是如何运行的?

注:转载于C语言中文网高级部分。 在《载入内存,让程序运行起来》一节中讲到,程序是保存在硬盘中的,要载入内存才能运行,CPU也被设计为只能从内存中读取数据和指令。 对于CPU来说,内存仅仅是一个存放指令和数据的地方,并不能在内存中完成计算功能,例如要计算 a = b + c,必须将 a、b、c 都读取到CPU内部才能进行加法运算。为了了解具体的运算过程,我们不妨先来看一下CPU的结构。 ...
阅读(2300) 评论(1)

载入内存,让程序运行起来

转载于:C语言中文网高级部分。 如果你的电脑上安装了QQ,你希望和好友聊天,会双击QQ图标,打开QQ软件,输入账号和密码,然后登录就可以了。 那么,QQ是怎么运行起来的呢? 首先,有一点你要明确,你安装的QQ软件是保存在硬盘中的。 双击QQ图标,操作系统就会知道你要运行这个软件,它会在硬盘中找到你安装的QQ软件,将数据(安装的软件本质上就是很多数据的集合)复制到内存。对!就是复...
阅读(592) 评论(0)

关于51单片机中断标志的一个小问题

第一张图片: 第二张图片: 代码: {CSDN:CODE:1867339} 此为数码管显示计数的程序,但笔者发现,当代码为第一张图片时候,当计数到30s时候,实际秒表是24s,而第二张图片加一个标志位时候确与实际一致。以下为笔者分析,有不足之处望前辈指点~ 分析如下: 第一张图片程序实际上是有问题的,因为cnt是int型,也就是2个字节,51单片机是...
阅读(486) 评论(0)

浅析为什么char类型的范围是 —128~+127

在C语言中, signed char 类型的范围为-128~127,每本教科书上也这么写,但是没有哪一本书上(包括老师)也不会给你为什么是-128~127,这个问题貌似看起来也很简单容易, 以至于不用去思考为什么,不是有一个整型范围的公式吗:  -2^(n-1)~2^(n-1)-1   n为整型的内存占用位数,所以int类型32位 那么就是 -(2^31)~2^31 -1 即    -214...
阅读(282) 评论(0)

07 (补充)串口通信知识点

串口通信详解(知识点~)...
阅读(2146) 评论(0)

04 看门狗和Cache

cache&watch dog...
阅读(532) 评论(0)

bic&orr

1,bic BIC指令的格式为: BIC{条件}{S}  目的寄存器,操作数1,操作数2 BIC指令用亍清除操作数1的某些位,幵把结果放置到目的寄存器中。操作数1应是一个寄存器, 操作数2可以是一个寄存器,被移位的寄存器,戒一个立即数。操作数2为32位的掩码,如果在 掩码中设置了某一位,则清除返一位。未设置的掩码位保持丌变。 bic r0,r0,#0x1f 0x1f=11111b...
阅读(299) 评论(0)

嵌入式中的 *(volatile unsigned int *)理解

转自:http://blog.sina.com.cn/shangbaogen  C语言中*(volatile unsigned int *)0x500的解释: 如下; (unsigned int *)0x500:将地址0x500强制转化为int型指针 *(unsigned int *)0x500=0x10:对地址为0x500赋值为0x10 其中volatile关键字有...
阅读(1986) 评论(0)

03 GPIO和LED

LED...
阅读(888) 评论(0)

arm学习b,bl指令浅析

注:文章详细请参考http://blog.sina.com.cn/s/blog_58f750e80100fr3p.html http://blog.sina.com.cn/s/blog_a4cdf30501018317.html 指令B与BL的区别  B常用于不返回的跳转,比如跳到某个标号处,BL则用于子程序跳转(要返回,返回地地存于LR) B. (注意B后面的“.”)这个“.”是...
阅读(320) 评论(0)

ARM立即数,LDR和MOV的区别

ARM立即数,LDR和MOV的区别  Mov 是把立即数赋给一个寄存器,但对立即数的范围有要求。只能是由8bit连续有效位通过偶数次移位能得到的数。如果立即数超出这个范围,就没办法用一条MOV指令给寄存器赋值。 LDR除了普通的读数之外,也有给寄存器赋立即数的功能。 你只要写 LDR R0,=0xabcdef 它没有立即数范围的限制。因为这是一条伪指令。如果立即数在MOV的要求内,那就...
阅读(209) 评论(0)

02 S5PV210刷系统

S5PV210刷系统知识...
阅读(1171) 评论(0)

C和C++到底有什么关系

注:转载于C语言中文网 C++ 读作”C加加“,是”C Plus Plus“的简称。顾名思义,C++是在C的基础上增加新特性,玩出了新花样,所以叫”C Plus Plus“,就像 iPhone 6S 和 iPhone 6、Win10 和 Win7 的关系。 C语言是1972年由美国贝尔实验室研制成功的,在当时算是高级语言,它的很多新特性都让汇编程序员羡慕不已,就像今天的Go语言,刚出生就受...
阅读(3018) 评论(0)

C语言的发展及其版本

注:转载于C语言中文网。 C语言于1972年11月问世,1978年美国电话电报公司(AT&T)贝尔实验室正式发布C语言,1983年由美国国家标准局(American National Standards Institute,简称ANSI)开始制定C语言标准,于1989年12月完成,并在1990年春天发布,称之为ANSI C,有时也被称为 C89 或 C90。 C语言之父——里奇...
阅读(312) 评论(0)

01 ARM体系结构与汇编指令

ARM体系结构与汇编指令...
阅读(1049) 评论(0)
407条 共28页首页 上一页 ... 26 27 28 下一页 尾页
    个人资料
    • 访问:253107次
    • 积分:6567
    • 等级:
    • 排名:第3838名
    • 原创:305篇
    • 转载:13篇
    • 译文:89篇
    • 评论:83条
    【目录索引】

    闲适音乐

    博客专栏

    Email: 457086306@qq.com