机器语言和汇编语言和高级语言的关系
答:
汇编语言和其他高级语言不同,因为类似C++这种高级语言需要先编译成汇编语言再编译成机器语言。因此汇编是更加贴近机器语言的底层语言,因此也单独于一类。
指令与指令系统的关系,看“指令系统”的定义。
程序与指令的关系,看“程序”的定义。
机器语言与指令以及程序的关系,看“机器语言”的定义。
汇编语言与机器语言的关系,看“汇编语言”的定义。
1,汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
2,一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。
3,高级语言(High-level programming language)相对于机器语言(machine language,是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据)而言。是高度封装了的编程语言,与低级语言相对。它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。由于早期电脑业的发展主要在美国,因此一般的高级语言都是以英语为蓝本。在1980年代,当东亚地区开始使用电脑时,在日本、台湾及中国大陆都曾尝试开发用各自地方语言编写的高级语言,当中主要都是改编BASIC或专用于数据库数据访问的语言,但是随着编程者的外语能力提升,现时的有关开发很少。
机器语言是CPU直接执行的语言,由二进制构成。
汇编语言跟机器语言是一一对应的,有约定的指令构成,这样子程序员就不用记住哪个指令对应哪个二进制数了。
高级语言是对汇编语言的抽象,加入了更加方便人类思维的循环,条件判断等语法的语言。
用高级语言不需要懂计算机原理和计算机结构,高级语言开发的程序经过解释程序或翻译程序自动变换成机器语言。
汇编语言则是一种符号语言,是依赖硬件的,不同型号计算机的汇编语言是不尽相同的,所以用汇编语言必须懂得计算机原理和计算机结构。汇编语言开发的程序,更能够发挥计算机的特点和功能,并且程序紧凑,资源利用率高。和高级语言类似,汇编语言计算机不能直接识别,要通过汇编程序变化成机器语言。汇编语言的每一个指令指令符号与机器语言的二进制码指令是有一一对应关系的。
机器语言就是你所说的二进制机器代码,计算机只能识别和运行机器语言。但因为二进制码对人来说不仅难记也难识别,没有很专业的计算机知识,是没办法直接用机器语言编程的。
像 MOV REG,MEN 这样的一般指令如果用二进制表示的话是当然是“0”“1”数码,因为指令的寻址方式不同,他们在指令码中的编码也不完全一样,具体请参考相关指令系统的资料。
CPU不同,汇编指令系统是有所不同的,如果是同一系列的片子,也会因为型号不同而在具体功能上有所增减,所以会出现有些简单程序能运行,而有些较复杂程序就不一定能互用的情况。
机器语言 计算机直接能够接受和应用的语言,是二进制的编程语言,是人应该都看不懂
汇编语言就是用助记符来表示计算机操作命令的一种编程语言。它主要是面向硬件,比c语言等高级语言要低级点,比机器语言(就是计算机能直接执行的程序,我们编的程序都要翻译成机器语言才能执行)要高级点
高级语言是编一些应用软件,与硬件不直接打交道的语言,比较直接,医懂,一般人都用高级语言编写程序