程序网络是怎样连接的 pdf跑起来的

如何写好单片机程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
如何写好单片机程序
上传于|0|0|文档简介
&&如何写好单片机程序
你可能喜欢1096人阅读
首先我们需要知道这些基础的计算机软硬件知识。
1.程序运行必要的硬件
1.必须有一个存储器,记忆程序和数据的存储器。
2.必须有一个控制器,控制程序执行的控制器。
3.必须有一个运算器,完成数据加工处理的运算器。
4.必须有输入设备和输出设备,用于进行人机通信。
2.程序是什么,由什么组成?
程序是指示计算机每一步动作的计算机指令,由指令(机器语言)和数据组成。
程序的运行环境=操作系统+硬件。
1.寄存器:用来暂时存储指令、和数据。不同的cpu内部有20-几百个寄存器,了解即可。
A.寄存器的主要种类和功能
累加寄存器
存储执行运算的数据和运算后的数据
标志寄存器
存储运算处理后的CPU的状态
程序计数器
存储下一条指令所在内存的地址
基址寄存器
存储数据内存的起始地址
变址寄存器
存储基址寄存器的相对地址
通用寄存器
存储任意数据
指令寄存器
存储指令。CPU内部使用,程序员无法通过程序对该寄存器进行读写操作
存储栈区域的起始地址
B.如图实例(x86系列cpu主要寄存器)
eax 累加寄存器
ebx 基址寄存器
存储内存地址
ecx 计数寄存器
计算循环次数
edx 数据计算器
esi 源地址寄存器
存储数据发送源的内存地址
edi 目标地址寄存器 存储数据发送目标的内存地址
ebp 扩展基址指针寄存器
存储数据存储领域基点的内存地址
esp 扩展栈指针寄存器
存储栈中最高位数据的内存地址
2.控制器:负责把内存上的指令、数据等数据读入寄存器,并根据指令执行的结果来控制计算机。
3.运算器:负责运算从内存读入到寄存器的数据。
4.时钟:负责发出cpu开始计时的时钟信号
4.指令在cpu内部运行示意图
C.指令在cpu内部运行示意图
扩展,如图D、机器指令的主要类型及功能
数据转送指令
寄存器和内存、内存和内存、寄存器与外围设备之间的读取操作
用累加寄存器执行算术运算、逻辑运算、比较运算以及移位运算
实现条件分支、循环、强制跳转等
call/return 指令
函数的调用、返回调用前的地址
D.机器指令的主要类型及功能
高级语言编写出来的程序,最后都转变为这些简单的指令了。
内存的作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。计算机内存主要以下几种:
高速缓冲存储器(Cache):它位于CPU与内存之间,读写速度比内存更快的存储器。当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中。当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。
只读存储器(ROM):ROM表示只读存储器(Read Only Memory),ROM中的一旦被写入就不能再更改,信息只能读出,即使机器停电,这些数据也不会丢失。ROM一般用于存放计算机的基本程序和数据,如BIOS ROM。
随机存储器(RAM):随机存储器(Random Access Memory)表示既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。也就是我们常说的内存条。
可以把内存想象成这样。
磁盘的原理与使用都比较简单,笔者不再详细讲。
看完基础的计算机软硬件知识,我们来了解编程语言,所以这里以java和C语言为例。有的读者可能要问为什么要以俩个为例。因为俩种语言在执行过程存在差别(虽然现在用编译型、解释型来分类编程语言已经有点力不从心了)。
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
C语言是属编译类语言。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但是可移植性差。
E.C语言编译过程
同C语言一样,java也是将java语法记述的源代码编译后运行。不过,编译后生成的并不是针对特定硬件环境使用的本地代码,而是字节码(也是我们说的.class文件)。运行时由java虚拟机转换成本地代码运行。所以代码的可移植性好,执行效率低。
F.java语言编译过程
一种是程序编译成机器语言,操作系统把机器语言(指令)复制到内存。内存中最有可能被cpu用到的数据放入cache。然后cpu与内存交互处理数据(程序执行)。
二是java虚拟机解释成机器语言放到内存中,内存中最有可能被cpu用到的数据放入cache。然后cpu与内存交互处理数据(程序执行)。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2348次
排名:千里之外
原创:10篇请使用支持脚本的浏览器!
程序是怎样跑起来的
( 20个评分 )
译者:李逢俊
原价? 25.00
纸书? 39.00
日文版重印41次!
计算机组成原理图解趣味版!
蹲马桶就能看懂的编程基础知识!
本书从计算机的内部结构开始讲起,以图配文的形式详细讲解了二进制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容。
本书的目的是让读者了解从用户双击程序图标到程序开始运行之间到底发生了什么。
书中同时专设了“如果是你,你会怎样介绍?”专栏,以小学生、老奶奶为对象讲解程序的运行原理,颇为有趣。
本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。
您的评分:
正文(不少于20字)
回复已提交审核...
移动设备阅读
扫二维码下载客户端
买过此书的人还买过
Copyright&
微信扫一下
已将图书添加到购物车
购物车中有8本书总计:? 24.00
购买过《程序是怎样跑起来的》的用户还购买了:
【日】井上诚一郎,土江拓郎,滨边将太
【美】Brian W.Kernighan
【美】Paul DuBois
【英】Andrew Lunny
【美】Warren Sande
【美】Carter Sande
俞甲子,石凡,潘爱民
【日】大野功二
【英】Tom Stuart
【日】千叶滋
【日】上野宣
【日】大塚弘记
【美】Neal Ford
【美】Brian Ward
【日】爱甲健二
【日】竹下隆史
【日】村山公保
【日】荒井透
【日】田幸雄
您已领取成功!
您可以进入//平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦!
快登录帐号来一起讨论吧~|
查看全部回复
{ sid : '102206',
id : '439bdf7b53dc67bc08002b3',
webreader : 1,
title : 'JavaScript编程全解',
price : '25.0',
old_price : '30.0',
new_price : '25.0',
cover : 'http://cover./mfsv2/download/s010/p01Vtsnevd1i/MTgJVSxjIthJDQ.jpg!vt',
url : '/book/102206',
authors : '【日】井上诚一郎,土江拓郎,滨边将太'
{ sid : '77097',
id : 'b7fdcfbbe6',
webreader : 1,
title : '白帽子讲Web安全',
price : '13.99',
old_price : '40.0',
new_price : '13.99',
cover : 'http://cover./mfsv2/download/s010/p01KNpWCs2K7/DRxoY0jBTDQbW0.jpg!vt',
url : '/book/77097',
authors : '吴翰清'
{ sid : '74928',
id : '659f9db247cd6b',
webreader : 1,
title : '世界是数字的',
price : '18.0',
old_price : '25.0',
new_price : '18.0',
cover : 'http://cover./mfsv2/download/s010/p01GQ7Rq4PX7/pkwCQuSjzHn95Y.jpg!vt',
url : '/book/74928',
authors : '【美】Brian W.Kernighan'
{ sid : '91211',
id : '80fecfc9b87442f5aee542b6e5461a53',
webreader : 1,
title : 'MySQL技术内幕(第4版)',
price : '68.0',
old_price : '73.0',
new_price : '68.0',
cover : 'http://cover./mfsv2/download/s010/p01FGp0j3wF2/sNCkh8KI7LjAxj.jpg!vt',
url : '/book/91211',
authors : '【美】Paul DuBois'
{ sid : '91791',
id : '9c256e87fbbb354a695be',
webreader : 1,
title : 'PhoneGap开发指南',
price : '34.99',
old_price : '40.0',
new_price : '34.99',
cover : 'http://cover./mfsv2/download/s010/p01FDgr6AvNe/vZUnRxyePo5LlE.jpg!vt',
url : '/book/91791',
authors : '【英】Andrew Lunny'
{ sid : '103211',
id : 'abfa084baafaa',
webreader : 1,
title : '父与子的编程之旅:与小卡特一起学Python',
price : '40.0',
old_price : '50.0',
new_price : '40.0',
cover : 'http://cover./mfsv2/download/fdsc3/p01pX8Hr5sDr/eqnI3WiCfeGVib.jpg!vt',
url : '/book/103211',
authors : '【美】Warren Sande\\n【美】Carter Sande'
{ sid : '115161',
id : '75ec3fca977e419d8f2c4ef9c33ddec5',
webreader : 1,
title : '程序员的自我修养:链接、装载与库',
price : '12.99',
old_price : '18.0',
new_price : '12.99',
cover : 'http://cover./mfsv2/download/fdsc3/p01wl6RO8o9T/ON6DfifwpPbQXU.jpg!vt',
url : '/book/115161',
authors : '俞甲子,石凡,潘爱民'
{ sid : '120124',
id : '7b17f65cb96e',
webreader : 1,
title : '游戏设计的236个技巧:游戏机制、关卡设计和镜头窍门',
price : '44.99',
old_price : '60.0',
new_price : '44.99',
cover : 'http://cover./mfsv2/download/fdsc3/p01wCfQRw5WA/ya7KvG4ymi0F3B.jpg!vt',
url : '/book/120124',
authors : '【日】大野功二'
{ sid : '119696',
id : '60ec50e756c8b47503cb',
webreader : 1,
title : '大型分布式网站架构设计与实践',
price : '31.99',
old_price : '40.0',
new_price : '31.99',
cover : 'http://cover./mfsv2/download/fdsc3/p013sFfrFp8O/Txi3T97AhQHg6c.jpg!vt',
url : '/book/119696',
authors : '陈康贤'
{ sid : '120447',
id : 'a592ba5b4ab5bf78f056763',
webreader : 1,
title : 'JavaScript设计模式与开发实践',
price : '30.0',
old_price : '40.0',
new_price : '30.0',
cover : 'http://cover./mfsv2/download/fdsc3/p010MuJiB4YS/Jts7Lje8KKkCHP.jpg!vt',
url : '/book/120447',
authors : '曾探'
{ sid : '103152',
id : '3f7a411baf994f8a8a7b9e93a31a909b',
webreader : 1,
title : '计算的本质:深入剖析程序和计算机',
price : '40.0',
old_price : '50.0',
new_price : '40.0',
cover : 'http://cover./mfsv2/download/fdsc3/p01MfOFtq4rI/EDF31iaMoIBJD0.jpg!vt',
url : '/book/103152',
authors : '【英】Tom Stuart'
{ sid : '76443',
id : 'fa639c3cd02d3e44085f',
webreader : 1,
title : '穿越计算机的迷雾',
price : '7.99',
old_price : '18.0',
new_price : '7.99',
cover : 'http://cover./mfsv2/download/s010/p01NiKPPHll8/4zwDpvrBKAZACM.jpg!vt',
url : '/book/76443',
authors : '李忠'
{ sid : '103334',
id : 'd75009fc2eef4a6eb6ec5dae8bc40c25',
webreader : 1,
title : '两周自制脚本语言',
price : '30.0',
old_price : '40.0',
new_price : '30.0',
cover : 'http://cover./mfsv2/download/fdsc3/p01SEFrjsN2t/u2Gn8I39sBrGRJ.jpg!vt',
url : '/book/103334',
authors : '【日】千叶滋'
{ sid : '68037',
id : '5be9dd69d702cdc4f4adce9',
webreader : 1,
title : '我和PIC单片机——基于PIC18(入门卷)',
price : '18.0',
old_price : '60.0',
new_price : '18.0',
cover : 'http://cover./mfsv2/download/s010/p01J21zQdUIN/SU0iIDeHI4lcxd.jpg!vt',
url : '/book/68037',
authors : '高显生'
{ sid : '103506',
id : 'a8c81c979f514cacb2eba38',
webreader : 1,
title : '图解HTTP',
price : '19.99',
old_price : '25.0',
new_price : '19.99',
cover : 'http://cover./mfsv2/download/fdsc3/p01FSZJdf5ca/A2MNEHKfwMDMJ3.jpg!vt',
url : '/book/103506',
authors : '【日】上野宣'
{ sid : '120330',
id : 'dcc8deaf2a854cc59f56b2c75c641128',
webreader : 1,
title : 'GitHub入门与实践',
price : '19.99',
old_price : '25.0',
new_price : '19.99',
cover : 'http://cover./mfsv2/download/fdsc3/p01bTiWoqSdM/MmbbCkBlcF7StO.jpg!vt',
url : '/book/120330',
authors : '【日】大塚弘记'
{ sid : '120391',
id : '64ab4bcddecde472b22a',
webreader : 1,
title : '函数式编程思维',
price : '25.0',
old_price : '30.0',
new_price : '25.0',
cover : 'http://cover./mfsv2/download/fdsc3/p01RNz4awiST/iPEXVJmFmeAJ6M.jpg!vt',
url : '/book/120391',
authors : '【美】Neal Ford'
{ sid : '122596',
id : '488f8c88ce39770bffe5',
webreader : 1,
title : '精通Linux(第2版)',
price : '30.0',
old_price : '40.0',
new_price : '30.0',
cover : 'http://cover./mfsv2/download/fdsc3/p01R0ZDslViy/zLPlYilng6WqRT.jpg!vt',
url : '/book/122596',
authors : '【美】Brian Ward'
{ sid : '120757',
id : 'e67f8db5bbe8c5f7ad4da9',
webreader : 1,
title : '有趣的二进制:软件安全与逆向分析',
price : '19.99',
old_price : '25.0',
new_price : '19.99',
cover : 'http://cover./mfsv2/download/fdsc3/p01uoYhhNQ5k/lRsycFbHxx4al3.jpg!vt',
url : '/book/120757',
authors : '【日】爱甲健二'
{ sid : '120431',
id : 'dbe807e7b87c4befbb6d9a8',
webreader : 1,
title : '图解TCP/IP(第5版)',
price : '30.0',
old_price : '40.0',
new_price : '30.0',
cover : 'http://cover./mfsv2/download/fdsc3/p013eKr6CCbX/V434BwK6rQxQp3.jpg!vt',
url : '/book/120431',
authors : '【日】竹下隆史\\n【日】村山公保\\n【日】荒井透\\n【日】田幸雄'问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
#include&stdlib.h&
int main()
char str[50] = "for /l %i in(1,2,5) do
start calc";
//system("for /l %i in(1,2,5) do
start calc");
system(str);
system("pause");
在看教学视频中老师演示可以打开,我自己跑了下,没有编译错误,本来应该打开5个计算器的,但是没有打开且出现以下问题。工具:VS2013如图:
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
首先这种程序很无聊啊,用c跑批处理命令
其次主要的错误是语法上的,命令字符串改一下 "for /l %i in (1,2,5) do
start calc"
====& in后边要有空格,不然像个函数
最后这个命令启动的不是5个calc吧
同步到新浪微博
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App

我要回帖

更多关于 程序是怎么控制硬件的 的文章

 

随机推荐