机器语言与汇编语言

机器语言的工作原理可以理解,说白了就是电流在电路上的变化,不同的输入导致不同的输出,但是汇编语言我就不明白了,汇编语言编译器本身是不是也需要硬件支持啊
还有是不是汇编指令 比如POP( 出栈指令)把pop按其asic码翻译成数字后,这行数字就是 POP( 出栈指令)的机器指令

汇编转化为机器指令的过程到底是怎样的啊???????????

我自己的看法,希望阅读完。

机器语言是硬件工作的物理语言,只有0和1,不是给人看的,比如cpu的内部工作指令。

汇编语言是给开发人员看的,但不同与其他高级语言(c,basic,c++)

汇编语言不像高级语言有跨平台性,首先,CPU的的工作是靠机器语言的(就是指令集,ISA),而这些指令有些是cpu独占的,而有些是必须要被外界访问的,比如让cpu做加法运算,谁加谁是cpu无法决定的,就必须通过外界指定才可以运算。于是问题出现了,用机器码控制cpu太难了,只有0和1,编程人员要费很大劲!于是汇编语言应邀而生。它是文字形式的,程序员写完程序后通过汇编器(类似于高级语言的编译器)将文字转化为机器码,于是程序就可以控制cpu了,因此汇编语言很依赖cpu,i386的汇编程序只能运行在支持i386体系的cpu上,苹果PowerPC汇编程序只能运行在苹果机上。这也就是为什么Windows程序不能运行在苹果机上,就是一位互相的汇编指令集不同,从而机器码不同。

当然计算机程序的运行最终还是以机器码运行的,但编程语言是无比重要的,比如用c语言写一个最简单的程序,首先c语言编译器(compiler)将程序转化为对应的汇编,汇编器(assembler)将汇编代码转换为机器码才可运行。

之所以高级语言可以跨平台,就是因为同一种高级语言在不同平台的不同编译器,可以调用相对平台的汇编器来在对应平台运行。因此,有人把高级语言和汇编语言分为一类,是不对的。。。。。。
还想说很多,毕竟刚学了,也顺便复习一下,还是到此为止吧。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-01
汇编语言编译器是软件/程序。你说它需不需要硬件支持。

汇编指令并不是按照它的asic码翻译成数字。具体翻译成什么样子的数字。要只能看相关处理器的编程参考手册了。
比如POP指令在AMD64体系结构下的处理器中
8F、58、1F、07、17、0F A1或者0F A9等。

有以下几种参考:
《IA-32 Intel 体系结构软件开发者指南》共三卷。
《Intel 64 和 IA-32 体系结构软件开发者指南》共三卷。
《AMD64体系结构程序参考》共三卷。

其中,IA-32指x86系列(包括奔腾系列)基于Intel80386结构的处理器。

Intel 64和AMD64指基于IA-32体系而扩展成的64位处理器。Intel 64和AMD64的核心功能没有差异,只是在部分次要的功能上有差异(从指令的角度看)。
第2个回答  2008-09-30
汇编语言是相对的高级语言,如果说机器语言是计算机自己的语言,那么汇编语言就是人和计算机交流的中介语言;由于机器语言过于复杂不方便(虽然方便计算机去运行)需要使用者对计算机有深入的了解,而现实中对计算机有深入了解的人并不多,所以汇编语言就是那些对计算机有深入了解的人把机器语言改良后的语言,它更靠近人类所能理解的语言,如INT A;我们知道是定义一个整形变量A,汇编语言通过编译器把INT A翻译成01010001等机器语言然后传输给机器,所以说汇编语言也是建立在机器语言基础之上的。不过是为了使用方便把机器语言预先定义好齐表达形式罢了。
第3个回答  2008-09-30
机器语言用来编汇编语言的编译器

然后用汇编语言编 C 语言的编译器(比如 TC)

然后用 C 语言和很少的汇编语言编操作系统(比如 Windows)
第4个回答  2008-09-30
你的理解应该是正确的,汇编指令就是机器指令的助记符而已

机器语言和汇编语言的区别
机器语言是指一台计算机的全部指令的集合 用机器语言编写的程序 称为机器语言程序 汇编语言是机器语言便于记忆和理解的符号形式 129302 机器语言机器语言就是计算机可以直接识别的语言 128104 8205 128187 汇编语言汇编语言就是便于人记忆理解的计算机是不能直接识别的...

机器语言和汇编语言是同一种语言吗
机器语言和汇编语言不是同一种语言。机器语言是机器能够直接识别的语言。汇编语言与机器有关,是低级语言。要进行编译才能让机器运行。高级语言诸如c语言这类的,与机器无关,大多数人都能编写,但是效率等等不如汇编。计算机语言(ComputerLanguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间...

机器语言和汇编语言一样吗?
1、高级语言:相对于机器语言(machine language)是一种指令集的体系。2、汇编语言:是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言。3、机器语言:不经翻译即可为机器直接理解和接受的程序语言或指令代码。二、编码方式不同 1、高级语言:语法和结构更类似汉字或者普通英文,且由...

机器语言.汇编语言.高级语言三者之间各有什么特点
机器语言,汇编语言与高级语言是编程领域中三种不同的语言类型。它们各自具有独特的特点,适用于不同的应用场景。机器语言是计算机硬件可以直接执行的最底层代码。它由一系列的二进制指令组成,直接对应着计算机的硬件操作。因此,机器语言程序的执行速度极快,但编写和理解难度极高,对于程序员来说,机器语言...

汇编语言和机器语言有什么区别?
“汇编语言和机器语言都属于低级语言,因为用它们编写的程序可以被计算机直接识别执行”是不对的。计算机能直接识别的是机器语言,机器语言指令是一种二进制代码,由操作码和操作数两部分组成,计算机可以直接识别;但汇编程序不能直接识别,用汇编语言编写的程序被编译之后形成的二进制代码才能被识别。

不同CPU的计算机系统具有不同的机器语言和汇编语言吗
以适应不同的硬件特性。总而言之,机器语言与CPU硬件密切相关,而汇编语言则作为桥梁,连接人类可读的代码与特定CPU的机器语言。汇编语言的编写可以基于不同的CPU架构,但编译软件会确保最终生成的机器语言代码能够在目标硬件上正确运行。

什么是机械语言,汇编语言和高级语言
汇编语言虽然比机器语言更易于理解和编写,但它仍然保留了机器语言的部分特征,如严格的语法结构。使用汇编语言编写的程序需要经过翻译,才能被计算机识别和执行。汇编语言的编写依赖于特定的硬件体系,因此不同硬件平台上的汇编语言会有不同的指令集,使得学习和记忆变得困难。为了解决汇编语言的这些局限性,...

机器语言 汇编语言 高级语言 各有什么特点
汇编语言,是一种介于机器语言与高级语言之间的程序设计语言。它通过使用伪指令将高级语言转换为机器语言。相较于机器语言,汇编语言的编程工作变得相对简单,因为其语法更接近于高级语言,易于理解和编写。然而,汇编语言仍需通过编译或解释器转换为机器语言后,计算机才能执行。学习汇编语言对于初学者来说,...

计算机语言有几种?哪几种?
计算机语言包括机器语言、汇编语言、高级语言三种。1、机器语言是机器能直接识别的程序语言或指令代码,勿需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。2、汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的...

计算机程序设计语言分为哪几类
计算机程序设计语言主要分为四类:机器语言、汇编语言、高级编程语言和自然语言。1. 机器语言 机器语言是计算机能直接识别的二进制代码。这些代码由0和1组成,代表了计算机最基本的指令。例如,一个简单的机器语言指令可能是“100101”,代表将存储在某个内存地址的数据加到中央处理器的寄存器中。

相似回答