科学网

 找回密码
  注册

tag 标签: 高级语言

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

能否以汇编指令形式实现高级语言功能?
热度 3 liudazhe 2014-12-29 16:47
能否把汇编和高级语言进行融合?即以汇编指令形式实现高级语言功能。形成某些新的语言,其同时具有汇编和高级语言的某些特点。初步构想以下,比如余弦函数,可否以新的汇编语言指令的形式实现?其它如开方、指数运算,或许都可以?不能让计算机只会做加减乘除,应让其做一些更加复杂的运算。 比如指数运算,只需如下: exp R,A,I //用来计算A的I次方,结果存放于R 其中exp是运算符,R是结果寄存器,A是数字寄存器,I是指数系数。 这些都是一些 初步的构想,或许不太正确,希望大家不吝赐教。
个人分类: 电子学研究与随笔|1377 次阅读|6 个评论
谈谈我对“程序设计中编程语言不是最重要的”这句话的理解
热度 1 pinjianlu 2011-1-10 18:07
有时候会听到有人说程序设计中,编程语言不是很重要,最重要的是编程的思想。一般会说这句话的只有两种人:一种是真正的高手系统分析员之类的;另一种就是不怎么懂软件的,自己不太想做技术,听别人这样说,就把这句话作为了一种借口而已。 其实我个人对这句话的理解是:这句话从理论上来讲是对的,没什么错。可是能真正能做到这一步的人却不那么简单。你拿到一个问题,首先想到的是怎么解决它,这就是算法;其次是怎么组织你的数据,那就是数据结构。 程序=算法+数据结构。 于是最后才想到了编程,但是程序设计语言作为一门工具肯定是重要的。公务善其事,必先利其器。所以选择一种适合你这个问题的编程语言能够达到更高的效率,事半功倍。编程语言肯定都是针对具体问题的,比如Fortran适合做科学计算,C语言效率高,汇编能够直接操作硬件,。这就像你做翻译的时候一样,中文和英语都只是表达思想的工具,也许在中文里很繁琐的语句在英语里可以很简洁地表达;反之亦然,在英语里很长的句子,也许在中文里就只需要一个成语而已。所以每种语言都是寸有所长、尺有所短,各自都有自己的适用范围。然而选择最适合你的具体问题的编程语言是需要编程经验的,要用过很多种语言才能做到。所以能做到这一步的其实不是那么容易。 理论上,各种编程语言都是同等地位的,因此从语义上来说,一种语言里能表达的意思在另一种语言里也能完全表达清楚。比如在中文里能表达的思想在英文里也同样能表达。所以,一种编程语言能够写成的程序完全能够转化为另一种编程语言,但效率、简洁程度肯定是不一样的。 到了面向对象的程序设计,对程序的描述如下: 程序=对象+属性。 面向对象程序设计的一个最重要的思想就是封装,所以把算法封装进了属性里面,而数据也封装到了对象里。所以面向对象的编程语言也有自己的不同思路。 因此选择合理的编程语言并不是很多人所想的那么简单,虽然最重要的东西还是软件的思想,软件工程里编写代码的比例也不高,但能做到这么高级的地步的人绝对需要大量的编写代码的经验!
个人分类: 我的世界观|5561 次阅读|4 个评论
高级语言指令计算机
accsys 2010-3-31 21:00
姜咏江 实用的通用计算机都可以用高级语言编程,因而又叫做高级语言计算机。 所谓的高级语言是人能够容易识别的使用计算机的符号表达方式。像basic、c、fortran、java等都是高级语言。一般人们将汇编独立出来,因为汇编的指令与机器指令具有一一对应的特点,有人就将其误认为是机器语言。其实汇编也是高级语言。 一、直接高级语言计算机 用高级语言书写的程序被称为高级语言程序。如果一台计算机能够直接执行高级语言程序,那么这个计算机就称为直接高级语言计算机。直接高级语言计算机有解释执行计算机和直接编译执行计算机。 1.解释执行计算机 所谓解释执行是指放入内存的程序就可以逐条逐句地执行。早期的苹果机Apple II就是一种高级语言解释执行计算机,程序员将basic程序送入存储器之后,给一个执行信号,程序就能够自动一个语句一个语句执行。 解释执行计算机程序执行的过程如图1所示。 图 1 解释执行计算机程序执行过程 解释执行计算机是将每个语句同相应的机器指令程序对应起来,执行该机器语言程序的过程,就是执行相应的高级语言语句。这样逐条执行了高级语言程序的语句,就能够完成高级语言程序的执行。 凡是将高级语言语句直接转换成对应的机器指令程序执行的计算机都可以称为解释执行计算机。 2.直接编译执行计算机 将高级语言程序事先编译成一个完整的机器语言程序,然后送到机器指令计算机执行,这种方式的计算机叫编译执行计算机。显然,编译执行计算机是由高级语言编译器 + 机器语言计算机组成的。 高级语言程序编译器一般都是由特定的机器语言程序组成,因而一般情况下都是软件。如果将编译器嵌入到计算机内部,并且程序员直接输入的是高级语言程序让计算机执行,那么这个计算机就是图2所示的直接编译执行计算机。 图 2 直接编译执行计算机程序执行过程 二、虚拟高级语言计算机 高级语言计算机还有虚拟高级语言计算机。 直接高级语言计算机每次执行高级语言程序,或者通过语句子程序调用,或者要进行高级语言程序编译过程,最后还是要通过机器指令程序执行完成任务,这较直接机器指令程序执行显然要慢,因而任务完成效率低,特别是多次高级语言程序执行的情况更是如此。 如果将高级语言编译器单独组织,事先将高级语言程序编译成机器语言程序,以后将机器语言程序放到机器语言计算机上执行,这样就避免了重复编译,也可以大幅度提高任务程序多次执行的效率。现在计算机高级语言程序执行都采用这种编译和执行分开的方式。 高级语言编译程序可以在本机上执行,也可以在其他计算机上执行,所以编译过程和程序执行分开的的情形就形成了并没有组织在一起的计算机结构,这种计算机就称为虚拟高级语言计算机。 一般由功能软件程序和机器指令计算机组织在一起都可以称为虚拟计算机。因而虚拟计算机是通过软件扩充机器指令计算机功能的计算机。 2010-3-31
个人分类: 教学笔记|7740 次阅读|3 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-16 18:57

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部