寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式,是确定本条指令的数据地址以及下一条要执行的指令地址的方法。
寻址方式的种类
操作数在指令中称为立即寻址;
操作数在某寄存器中称为寄存器寻址;
操作数在主存单元,而其地址在指令中称为直接寻址;
操作数在主存单元,而其地址在寄存器中称为寄存器间接寻址。
HTML超文本标记语言,标准通用标记语言下的一个应用。 “超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。
XML是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
SGML标准通用标记语言(以下简称“通用标言”),是一种定义电子文档结构和描述其内容的国际标准语言;通用标言为语法置标提供了异常强大的工具,同时具有极好的扩展性,因此在数据分类和索引中非常有用;是所有电子文档标记语言的起源,早在万维网发明之前“通用标言”就已存在。
VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具有平台无关性。
源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。通常由高级语言编写。
源程序可以是以书籍或者磁带或者其他载体的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机可执行的程序。
将人类可读的程序代码文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,由各种编译器来完成。
正规式中的基本运算符号有“丨”、“ • ”、“*”,分别称为“或”、“连接”和“闭包”, 连接运算符“ • ”可省略。
正规式“(1|01)”表示的串是“1”或者“01”,对其进行运算得到的串为空串, 或者“ 1 ”无限次地连接“ 1”或“01 ”,或者“01 ”无限次地连接“ 1”或“01 ”,例如“ 1 ”、 “01”、“11”、“101”、“011”、“0101”、……。“
(1丨01)*0”则表示这样的0和1构成的串: 以0结尾且0不能连续出现。
程序设计语言的基本成分有数据成分、运算成分、控制成分和传输成分。
数据成分用于描述程序所涉及的数据;
运算成分用以描述程序中所包含的运算;
控制成分用以描述程序中所包含的控制;
传输成分,用以表达程序中数据的传输。
控制成分指明语言允许表述的控制结构,程序员使用控制成分来构造处理数据时的控制逻辑。
理论上已经证明可计算问题的程序都可以用顺序、选择和循环这三种控制结构来描述。
在实现程序语言的编译和解释两种方式中,编译方式下会生成用户源程序的目标代码,而解释方式下则不产生目标代码。目标代码经链接后产生可执行代码,可执行代码可独立加载运行,与源程序和编译程序都不再相关。而在解释方式下,在解释器的控制下执行源程序或其中间代码,因此相对而言,用户程序执行的速度更慢。 中间代码生成和优化不是编译过程中必需的阶段。对用户源程序依次进行了词法分析、语法分析和语义分析后,原则上就可以产生目标代码了,只是目标代码的质量和效率可能不够高。 词法分析时编译或解释用户源程序过程中唯一与源程序打交道的阶段,其主要功能是按顺序分析出源程序的记号。
COBOL是面向事务处理的语言,XML即可扩展标记语言,PROLOG是逻辑式语言, LISP是函数式语言。Python可称为通用的脚本语言。
解释程序也称为解释器,它可以直接解释执行源程序,或者将源程序翮译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序,然后在计算机上运行目标程序。 解释程序在词法、语法和语义分析方面与编译程序的工作原理基本相同。一般情况下,在解释方式下运行程序时,解释程序可能需要反复扫描源程序。例如,每一次引用变量都要进行类型检査,甚至需要重新进行存储分配,从而降低了程序的运行速度。在空间上,以解释方式运行程序需要更多的内存,因为系统不但需要为用户程序分配运行空间,而且要为解释程序及其支撑系统分配空间。
编译程序的功能是把某高级语言书写的源程序翻译成与之等价的目标程序(汇编语言程序或机器语言程序)。编译程序的工作过程可以分为词法分析、语法分析、语义分析、 中间代码生成、代码优化、目标代码生成、狩号表管理和出错处理,如下图所示。
汇编语言是与机器语言对应的程序设计语言, 因此也是面向机器的语言。 从适用范围而言,某些程序语言在较为广泛的应用领域被使用来编写软件, 因此成为通用程序设计语言, 常用的如 C/C++,Java等。 关系数据库查询语言特指 SQL,用于存取数据以及查询、 更新和管理关系数据库系统中的数据。 函数式编程是一种编程范式,它将计算机中的运算视为函数的计算。 函数编程语言最重要的基础是λ演算(lambda calculus),其可以接受函数当作输入(参数) 和输出(返回值)。
有些软件采用“编写—编译—链接—运行”的过程来创建。将源程序编译后产生目标程序,然后再与其他模块进行链接来产生可执行程序。
解释程序(也称为解释器)可以直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序,然后在计算机上运行目标程序。这两种语一处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示荽参与到程序的运行过程中,运行程序的控制权在解释程序。一而言之,解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。
SQL即结构化查询语言,是一种特殊目的的编程语言,用于存取及查询、更新和管理关系数据库系统中的数据。 Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 Java是一种通用的程序设计语言。
题中所列的编程语言都是通用的高级程序设计语言,同时具窜各自的应用特点。C/C++适合于进行系统级程序开发,设备驱动程序与硬件及其抽象层交互,属于系统级程序语言。 Java在企业级应用软件开发、安卓开发、大数据、云计算等方面都是主流的编程语言。 Python适合进行网络应用开发。 Visual Basic的主要特点是可视化设计、事件驱动的编程机制等,程序员不用写多少代码就可以完成一个简单的程序,也可以开发相当复杂的程序。
主要的程序语言如下: Fortran语言(第一个高级程序设计语言,科学计算,执行效率高) Pascal语言(结构化程序设计语言,表达能力强,Delphi) C语言(通用、结构化程序设计语言,指针操作能力强,高效) Lisp语言(函数式程序语言,符号处理,人工智能) C++语言(C语言基础上增加了类机制,面向对象,高效) Java语言(面向对象,中间代码,跨平台,通用的程序设计语言) Python(面向对象,解释型程序设计语言,通用的脚本语言) PHP(服务器端脚本语言,制作动态网页) Ruby(简单快捷、面向对象、脚本语言) Delphi(快速应用程序开发工具,可视化编程环境) COBOL(数据处理领域最为广泛的程序设计语言,高级编程语言) PROLOG(逻辑式语言,建造专家系统、自然语言理解、智能知识库等)
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。 JavaScript是一种解释性脚本语言(代码不进行预编译)。主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
PHP是一种服务器端的、嵌入HTML的脚本语言。PHP区别其他像客户端JavaScript 的地方是其代码在服务器端执行,PHP可以做任何其他CGI程序所能做的事,例如收集表格数据,生成动态页面内容,或者收发cookies等,PHP支持大范围的数据库。 Lisp是一种函数式程序设计语言,属于动态程序语言。 SQL(Structured Query Language,结构化査询语言)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。该语言不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出。SQL语言包含4个部分:数据查询语言(SELECT语句)、数据操纵语言(INSERT、UPDATE、DELETE语句)、数据定义语言(如CREATE、DROP等语句)和数据控制语言(如COMMIT、ROLLBACK等语句)。 XML (Extensible Markup Language)是一种类似于HTML的标记语言,用来描述数据。
计算机硬件只能识别由0、1字符串组成的机器指令序列,即机器指令程序,因此机器指令程序是最基本的计算机语言。用机器语言编制程序效率低、可读性差,难以理解和维护。
汇编语言,用容易记忆的符号代替0、1序列来表示机器指令中的操作码和操作数,例如,用ADD表示加法、SUB表示减法等。虽然使用汇编语言编写程序的效率和程序的可读性有所提高,但汇编语言是面向机器的语言,其书写格式在很大程度上取决于特定计算机的机器指令。
汇编语言源程序由若干条语句组成,可分为指令语句、伪指令语句和宏指令语句三类。
指令语句又称为机器指令语句,将其汇编后能产生相应的机器代码,这些代码能被CPU直接识别并执行相应的操作。
伪指令语句指示汇编程序在汇编源程序时完成某些工作,比如给变量分配存储单元地址,给某个符号赋一个值等,伪指令语句经汇编后不产生机器代码。
允许用户将多次重复使用的程序段定义为宏,宏指令语句就是宏的引用。