机器怎么识别汇编指令
⑴ 计算机能够直接识别的语言是什么语言汇编语言是什么
机器语言,汇编语言是面向机器的程序设计语言。
1、机器语言
机器语言是机器能直接识别的程序语言或指令代码,无需经过翻译,每一操作码在计算机内部都有相应的电路来完成它,或指不经翻译即可为机器直接理解和接受的程序语言或指令代码。
2、汇编语言
汇编语言是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。
(1)机器怎么识别汇编指令扩展阅读:
指令:
1、机器语言
机器语言指令是一种二进制代码,由操作码和操作数两部分组成。操作码规定了指令的操作,是指令中的关键字,不能缺省。操作数表示该指令的操作对象。
计算机的指令格式与机器的字长、存储器的容量及指令的功能都有很大的关系。从便于程序设计、增加基本操作并行性、提高指令功能的角度来看,指令中应包含多种信息。
但在有些指令中,由于部分信息可能无用,这将浪费指令所占的存储空间,并增加了访存次数,也许反而会影响速度。
因此,如何合理、科学地设计指令格式,使指令既能给出足够的信息,又使其长度尽可能地与机器的字长相匹配,以节省存储空间,缩短取值时间,提高机器的性能,这是指令格式设计中的一个重要问题。
2、汇编语言
由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可记忆性差等。指令中最难的是指令所支持的寻址方式,其实质就是指令中操作数如何获取。
对于处理器而言,就是如何找到他所需的数据。但对于计算机底层的汇编语言而言,这种寻址方式将涉及大量的计算存储格式,与复杂的存储管理方式紧密相关,因而难以理解。
最后,汇编指令还关系到如何影响标志位,但处理器标志位非常复杂,因而对其机制掌握就比较困难。
参考资料来源:网络——机器语言
参考资料来源:网络——汇编语言
⑵ 汇编中 机器是怎么识别一个数的正负的
靠指令区别,如果指令用的是无符号指令,那么CPU就认为10000001
是无符号的,反之则是有符号比如
无符号的乘法
mul有符号的乘法
imul
⑶ 机器是怎么识别命令的
指令和数据都是应用上的概念。汇编语言,通过编译器编译,最后送给CPU的都是二进制数,那么CPU在一堆纷繁复杂的二进制,0110000110001中如何区分指令和数据呢?
我们需要明白以下几点:
(1)每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。二进制,作为一种机器码,计算机可以直接识别,不需要进行任何翻译
(2)计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
(3)把指令和数据分开放是为了安全和逻辑结构清晰。
(4)虽然指令和数据存放的格式一样,但是访问他们的时机不同。在取指令时期,cpu通过指令流取指令,存放在指令寄存器,
然后解释并执行指令;在执行指令时期,cpu通过数据流取数据, 存放在数据寄存器。 所以指令流取的是指令,数据流取的是数据。
⑷ 怎么才能知道汇编指令所对应的机器码
前者32位的可以用静态反汇编软件如W32Dasm
后者根据CPU不同会不同
⑸ CPU如何识别操作系统的指令
操作系统属于系统软件,跟平时的应用软件从本质上来说是一样的版,都是用高级语言(内核部分权可能会用部分汇编)编写的代码,代码本身是不能被CPU识别的,只能被人读懂。系统软件需要经过编译器编译生成汇编代码,在经过汇编翻译成机器码,此时的机器码可以被CPU识别。CPU本身也不是纯硬件的东东,每一个CPU都在设计之初设计了自己的一套指令集,该指令集指挥CPU对读取的指令做相应的操作。所以,软件编译后生成的exe文件其实是二进制的机器码,这些机器码对应一个个指令。CPU运行软件实质上是从内存中将exe文件中的机器码指令读取出来去按照指令的要求做相应的动作,如操作磁盘或者驱动显示器显示等等。这部分内容最好能看一下《微机原理》一书,普及一下基本概念。
⑹ 怎么才知道汇编指令对照的机器指令有什么数学算法可以互相转换这汇编和机器指令
这不是算的,是对表查出来的。就像ASCII表一样,A对应65 a对应97。汇编指内令其实是机器码助记符的容代名词而已,它俩本就是一样一样滴。想要知道汇编指令对应的机器码是多少可以通过查表或者用trubo debug软件或者MS-DOS的DOS窗口下debug查询。
⑺ 计算机如何区分指令和数据
其实这个很简单的,通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。如果通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
拓展资料:
指令和数据都是应用上的概念。汇编语言,通过编译器编译,最后送给CPU的都是二进制数,那么CPU在一堆纷繁复杂的二进制,0110000110001中如何区分指令和数据呢?
我们还需要明白以下几点:
每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。二进制,作为一种机器码,计算机可以直接识别,不需要进行任何翻译。
计算机硬件主要通过不同的时间段来区分指令和数据,即:取指周期(或取指微程序)取出的既为指令,执行周期计算机加载的第一条肯定是指令,然后根据这条指令去取二进制数,如果这条指令要取操作数,那么取出来的就是操作数;如果这条指令要取下一条指令,那么取出来得就是指令。
把指令和数据分开放是为了安全和逻辑结构清晰。
虽然指令和数据存放的格式一样,但是访问他们的时机不同。在取指令时期,cpu通过指令流取指令,存放在指令寄存器, 然后解释并执行指令;在执行指令时期,cpu通过数据流取数据, 存放在数据寄存器。 所以指令流取的是指令,数据流取的是数据。
⑻ 计算机中的机器语言、汇编语音和高级语言如何区分
计算机语言也称程序设计语言。即编写计算机程序所用的语言。计算机语言是人和计算机交流信息的工具。我们通过它指挥计算机如何工作,因此它是软件的重要组成部分。
粗略地分为机器语言、汇编语言和高级语言。高级语言是接近习惯使用的自然语言和数学语言的计算机程序设计语言。它独立于计算机。用户可以不了解机器指令,也可以不必了解机器的内部结构和工作原理,就能用高级语言编程序。高级语言通用性好、易学习、易使用、不受机器型号的限制,而且易于交流和推广,像我们知道的BASIC、C、PASCAL等都是高级语言。
1.什么是机器语言
机器语言是计算机硬件能够识别的,不用翻译直接供机器使用的程序设计语言,也被称为手编语言。不同机型的机器语言是不同的。机器语言是用二进制数表示的指令代码,这种指令代码是由操作码和地址组成。指令代码构成了机器语言的语句.也称为机器指令。机器语言执行速度很快.但编写和调试都很繁琐。
2.什么是汇编语言
汇编语言(Assembly Language)是面向机器的程序设计语言。
地址码。这样用符号代替机器语盲的二进制码,就把机器语音变成了汇编语言。于是汇编语言亦称为符号语言。
使用汇编语言编写的程序,机器个能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编语言把汇编程序翻译成机器语言的过程称为f汇编。
汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植
3.什么是高级语言
高级语言的语句是梢彩自然语汇,并使用与自然语言相近的语法体系,高级语言编写的程序更易于阅读和理解。高级语言的语句是面向问题的.而不是面向机器的。对问题和其求解的表述比汇编语言更容易理解。这样更加简化了程序的编写和调试,编程序的效率会大大提高。高级语言独立于具体的计算机。又大大增加了通用性和可移植性。
世界上已有数百种高级语言,用得最普遍的有FORTRAN、PASCAL、C、LISP、PROLOG和BASIC等等。
希望可以帮到您!
⑼ 计算机cpu指令译码器可识别的指令被称为什么 是汇编语句还是机器指
指令译码器识别的指令应该是叫做指令集
指令集又分RISC和CISC。
其实应该是这样的顺序
汇编语句 编译以后 变成了 二进制代码 然后二进制代码其实包含对硬件各个逻辑门的控制,当然里的指令就是从指令集里面找到的所需要的指令,然后直接控制CPU去工作。
其实二进制代码里面就是包含了机器指令
而汇编语言编译好之后运行,里面又有指令区和数据区的。
指令其实有分种类,不仅有操作数据的,还有数学运算,逻辑运算等等的,具体名词书上有写,我忘了。。
⑽ 汇编指令和机器码是怎么样转换的我是菜鸟
为你正确解答:
汇编指令和机器码的转换:
是通过查表完成的。
可以手工查表
也可回以由计算机的软件答查表
由计算机程序自动查表翻译完成。
因为汇编指令
实际就是助记符,CPU
有一条机器指令
就用一个便于记忆的助记符表示成一个汇编指令
所以
二者是一一对应的
例如:
空操作的汇编指令是
nop
而其机器指令为
00
H
二者是一一对应的关系
翻译时可以查表
解决。就好象在数学用表上
查找根号47一样。
目前均采用由软件自动转换的
如可以使用MESM宏汇编软件将8086CPU的汇编程序翻译成机器代码。