为什么计算机语言能对应程序,程序员编写的代码为什么可以控制计算机硬件工作?汇编语言和高级编程语言的由来...

计算机本质上是数字电路组成的计算机器,只有电信号才有可能驱动电路工作,那为什么程序员编写的代码可以控制计算机工作呢?代码只是一串字符而已。

b57f34b3d954b991058d73b8957e29d0.png

在回答这个问题前,先想一下,程序员编程时,是否要严格遵守某种编程语言的语法呢?答案是肯定的,每种高级语言,无论是C语言,还是java、python、php,都是有自己的关键字和语法结构的。这些关键字是设计编程语言时约定的,也就是说,程序员编写的代码是按照某种约定规则进行的。这就可以回答上面的问题了,假设一组数字电信号可以完成“蜂鸣”动作,既然它是数字信号,当然可以用数字表示它,下次程序员输入这组“数字”,就相当于输入了让计算机做“蜂鸣”动作的数字电信号,这就是机器码编程。

举个例子,假设有以下 5 盏灯。灯由开关控制着,只有开关两种状态。我们约定 1 表示开灯,0 表示关灯。那么,当电灯管理员得到“01000”这样一组数字时,他就知道了应该开第二盏灯,其他的关掉。

cbc15e6eb3f66e62c8ba8199f759c5a4.png

机器码编程是不方便的,程序员想要完成某种计算功能,往往需要从非常庞大的指令表查找到相应的数字功能码。因此,后来人们设计了很多助记符,用有意义的单词来表示机器指令,这就形成了汇编语言。

就像上面的例子中,我们约定用 set_light_2 来表示 01000,那么,下次我告诉电灯管理员:“set_light_2”,他就明白了应该怎样开关灯。

顺着这样的思路,更复杂的符号和结构被设计成有意义的单词,高级语言如C语言,C++语言出现了。所以,说代码控制计算机不是特别恰当,因为代码只是我们约定的与电信号对应的符号而已。事实上,计算机并不能直接执行代码,代码要首先翻译为计算机认识的机器码(即数字信号序列),这一过程就叫做编译。

cb8994890034bfe1bf8bda6a82a987b6.png

当然,现在还有一些脚本语言,比如 python,它是依赖解释器逐行执行的。不过归根结底,代码要首先翻译为计算机认识的机器码(即数字信号序列)。

喜欢 (2)or分享 (0)

黄姑
关注 关注
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大二学习汇编语言程序设计时的代码记录~.zip
04-20
- **直接硬件控制**:汇编语言允许程序员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间效率要求极高、需要精确控制硬件的程序,如设备驱动、实时系统内核、性能关键算法等。...
Java程序逻辑控制详谈
na 小子叫坚强的博客
10-07 1357
目录:1.1 顺序结构 1.2 分支结构:1.2.1 if 语句 1.2.2 switch 语句 1.3 循环结构:1.3.1 while 循环 1.3.2 break 1.3.3 continue 1.3.4 for 循环 1.3.5 do while 循环 1.4 输入输出:1.4.1 输出到控制台 1.4.2 从键盘输入
代码是如何控制硬件的?
qq_41854911的博客
12-10 8646
简单来说,就是软件指令通过操作寄存器,控制与、或、非门搭建的芯片电路,产生、保存高低电平信号,实现相应的逻辑,最终通过IO、串口等输出。要想更清楚的了解软件控制硬件的原理,就要明白cpu的框架及工作原理。
对于数字电路和代码是如何控制硬件的的一些理解
qq_43546755的博客
05-15 2791
对于<数字电路的主要研究方向>和<代码是如何控制硬件的?>的一些理解 数字电路: 是一步一步强大的功能的实现,从底层(与或非门)开始,一步一步向上,到实现强大的功能(CPU指令集) 代码是如何控制硬件的? 是一种自顶向下的过程,从这种机器码(实质是高低电平)开始,按照CPU指令集(实质是输入的高低电平和输出的高低电平的对应规则),利用这种数字电路所搭建出的CPU指令集的规则...
指令/代码是如何控制计算机硬件工作
weixin_34249367的博客
03-18 412
2019独角兽企业重金招聘Python工程师标准>>> ...
C语言怎么对电脑起作用,编程原来是这么回事的……
weixin_28792813的博客
05-16 455
C语言是一门充满魅力的编程语言。C语言的发明人,“C语言之父” Dennis Ritchie 在 2011 年去世。很低调,没有太多新闻报道。同年史蒂夫.乔布斯去世,各界报道铺天盖地(当然了,乔布斯也是很伟大的人)。我想说:应该多纪念那些低调付出的人。Dennis Ritchie 除了 C语言这项伟大发明(Windows、Linux 和 macOS 操作系统,底层几乎都用到了 C语言),还与 Ke...
简单理解编程语言工作原理
那你为何对我三笑留情的博客
11-22 2284
一、编程语言定义 编程语言可以简单的理解为一种计算机和人都能识别的语言计算机只能识别二进制,人识别的是人类语言。那怎么实现计算机和人都能识别的语言呢?先看下编程语言的发展历程,再来回答这个问题。 二、分类/发展阶段 第一代:机器语言 简单来说就是: 机器语言就是由0和1组成的指令代码 每个指令代码会执行计算机内部相应的电路 指令代码的集合即是指令系统 不同的计算机厂家的指令代码一般不同 百科说明:机器语言是机器能直接识别的程序语言或指令代码,无需经过翻译,每一操作码在计算机内部都有相应的电路来完成
学习《深入理解程序设计 使用Linux汇编语言》的代码.zip
04-20
- **直接硬件控制**:汇编语言允许程序员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间效率要求极高、需要精确控制硬件的程序,如设备驱动、实时系统内核、性能关键算法等。...
汇编语言程序.zip
04-20
- **直接硬件控制**:汇编语言允许程序员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间效率要求极高、需要精确控制硬件的程序,如设备驱动、实时系统内核、性能关键算法等。...
底层编程语言汇编语言asm.zip
04-20
- **直接硬件控制**:汇编语言允许程序员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间效率要求极高、需要精确控制硬件的程序,如设备驱动、实时系统内核、性能关键算法等。...
radasm-sample... 用RadASM开发的一些示例汇编语言程序....zip
04-20
- **直接硬件控制**:汇编语言允许程序员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间效率要求极高、需要精确控制硬件的程序,如设备驱动、实时系统内核、性能关键算法等。...
程序计算机中是怎样运行的
学习真香
02-23 3213
程序计算机中是怎样运行的 大学,学了四年计算机. 但对于这个问题一直没有深入的了解; 只是大概知道程序需要编译成二进制的可执行文件计算机才可以执行; 最近,突然特别想知道具体是怎么样的? 所以,想着写篇文章记录一下; 这个问题,我想等再过几年肯定就会有更深层次的看法. 如果有理解不到位的地方,请指正. 程序是在计算机上运行的; 应用程序的运行离不开操作系统的调用和处理; 应用程序是由编程语言编写...
程序为什么会在计算机运行?
m0_51351311的博客
11-05 918
计算机体系概论存储器设计ISA与汇编语言输入(键盘)输出(显示器)TRAP和子程序 存储器设计 ISA与汇编语言 输入(键盘)输出(显示器) TRAP和子程序
C语言怎么让机器运行,一个程序是如何被机器运行起来的?
weixin_42504279的博客
05-24 1272
由于前段时间期末考试,所以一直没有更新博客,最近又来了搜狐实习,一直在赶需求,感觉自己好久没有更新博客了,这几天赶完了需求,还是抽时间来更新一下博客吧。正文我们平常写程序的时候,一般都是使用一个好用的IDE,然后写好代码,run一下程序就运行起来了,但是不知道大家是不是也思考过程序到底是怎么运行起来的呢?这其实是一个很复杂的过程,我的了解也是非常的浅显,所以只能简单介绍一下它的大概步骤。一个典型的...
六、线程的代码实现:pcb栈、线程栈、PCB初始化、中断处理函数、调度函数->多线程调度
zhangyang249的博客
11-30 3734
线程
编程语言及其分类
cly20020925的博客
07-11 911
编程语言的概念 1.编程语言的本质——语言 任何一种语言的本质都是用于交流的工具。我们熟悉的英语,汉语之类的属于自然语言,即人与人之间交流的工具。而编程语言是人与计算机之间的交流工具,人们通过编程语言写一些代码或指令来实现和计算机交流。 2.编程语言的作用——控制计算机 人们可以通过编程语言代码程序的方式,控制计算机达到某些目的。编程语言就是打开‘控制计算机’大门的钥匙。二 编程语言的分类 1.机器语言 (1)机
c语言软件如何控制机器,硬件和软件是如何结合的?代码如何控制机器?
weixin_39759182的博客
05-23 4350
原标题:硬件和软件是如何结合的?代码如何控制机器?我们不妨从最底层开始往上走。1. 二进制理论众所周知,电脑,手机以及其他大量的电子设备,都是基于复杂的数字电路进行工作的。而数字电路则通过循环往复地完成一系列的指令,来输出我们想要的结果。那究竟里面的工作原理是什么样子的呢?首先,我们需要一套数字理论。上帝说,我们需要一个理论。于是莱布尼茨诞生了。莱布尼茨提出了二进制,这成为了现代计算机理论的基础。...
汇编语言.MODEL
最新发布
04-24
汇编语言编写程序需要通过汇编器转换为机器代码,才能被计算机执行。汇编语言的特点是对硬件操作的控制精细,但同时也要求程序员计算机的硬件架构有较深入的了解。 此外,汇编语言编程还涉及到其他一些概念,如...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • ps 计算机 性能设置,Photoshop 图形处理器 (GPU) 卡常见问题及如何使用性能首选项... 11211
  • mysql中的级联删除的语句_级联删除sql语句-数据库级联删除语句-sql删除语句 9652
  • java获取指定位置字符_Java如何读取指定位置段的字符串? 6640
  • 三次样条插值的缺点_三次样条插值函数 4345
  • matlab产生er随机图,ER随机图模型 4288

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • svn修改服务器地址命令,svn修改服务器地址命令
  • 思科服务器如何重装系统,思科路由器系列软件安装与升级步骤
  • ps 计算机 性能设置,Photoshop 图形处理器 (GPU) 卡常见问题及如何使用性能首选项...
2021年143篇
2020年17篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

哆哆女性网女学霸在古代乃木坂春香的秘密第三季江苏少儿频道439999诱红楼11李宝宝起名大全免费版宏基笔记本售后电话吴姓起什么名字好死亡诗社百度影音八字周易起名11月22日估价鬼吹灯小说全集免费阅读空间透明素材用锦起名称大全绝对迷宫格林童话强化地板安装巴金的家五九你是我的荣耀免费看李姓起名谐音店铺起名字打分测试pdf2cad宝宝起名那家公司排名不敢高声语如何起名免费重生平淡人生奇幻修真小说花街柳巷重回二零零五淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化