文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
机器语言
计算机刚发明的时候,所有程序就是一条条机器语言的命令。没过多久,程序就改成使用汇编语言了,它要比机器语言写起来稍微方便一点。命令清单还是一样的,就是每个命令换了一个更人性化的名字。机器语言的加法命令是11001101,这可能就是计算机内部的加法表达方式,但是在汇编语言中,这条命令就改成了add
机器语言和汇编语言的共同问题就是,只能让大多数计算机做一些很简单的事情。比如,假定你想让计算机的蜂鸣器响10次,但是不存在一条直接的机器语言命令让电脑重复进行n次操作,所以只能用机器语言写出下面这样的程序:
将数字10存入内存地址0 a 如果内存地址0的值为负数,跳到b行 蜂鸣器发出声音 将内存地址0的值减1 跳到a行 b ……程序的其他部分……
#(sphinxs 补充:中译版此处a标记位置有误,已改正)#
如果只是为了让蜂鸣器响10次就不得不写这么多代码,不难想象写出一个文字处理器或电子表格将是一项多么浩大的工程。
顺便说一句,请再看一下上面的程序。蜂鸣器真的会响10次吗?不,响了11次。我不应该在第一行使用10,而应该使用9。我故意在这个例子中留了一个bug,证明编程语言的一个重要特点:一个操作所需的代码越多,就越难避免bug,也越难发现它们。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论