烟台企业网站,怎么查搜索关键词排名,找人做网站定金不退,求个网站你懂我的意思吗前言
在学习汇编语言之前#xff0c;我们应该要知道汇编语言他是一门怎么样的语言。汇编语言是直接工作在硬件上的一门编程语言#xff0c;学习汇编语言之前最好先了解一下计算机硬件系统的结构和工作原理。学习汇编语言的重点是学习如何利用硬件系统的编程结构和指令集进而…前言
在学习汇编语言之前我们应该要知道汇编语言他是一门怎么样的语言。汇编语言是直接工作在硬件上的一门编程语言学习汇编语言之前最好先了解一下计算机硬件系统的结构和工作原理。学习汇编语言的重点是学习如何利用硬件系统的编程结构和指令集进而有效地灵活地控制系统执行工作。汇编语言是除了机器语言外的最底层的编程语言了。学习这门语言可以帮助我们更加深入地理解CPU、内存等硬件的工作原理。用机器的思维去操作计算机。汇编语言和机器语言是一一对应的汇编语言被编译成机器语言这样的程序执行效率更高。
对于从事嵌入式行业相关的人员来讲学习汇编语言可以帮你写出效率更高的程序也可以帮助编程人员更好地理解高级语言比如c语言。那么对于java、python这类语言编程人员是否就一定不用了解汇编语言呢诚然对于使用这类语言的编程人员来说学习汇编可能收效甚微但是了解汇编对高级语言的内部实现也会有更好的理解。注意这里所说的学习汇编并不是要求用汇编进行大型程序开发而且能够看懂一些常用汇编代码即可。
在学习后续内容之前希望读者对于一些基本的计算机知识有一定的认知比如具备计算机使用经验熟悉不同进制有一定的编程基础c、c…。
1.基础知识
1.1 计算机语言发展
计算机语言总的来说分为机器语言汇编语言高级语言三大类。而这三种语言也恰恰是计算机语言发展历史的三个阶段。
1946年2月14日世界上第一台计算机ENAC诞生使用的是最原始的穿孔卡片。这种卡片上使用的语言是只有专家才能理解的语言与人类语言差别极大这种语言就称为机器语言。机器语言是第一代计算机语言。这种语言本质上是计算机能识别的唯一语言人类很难理解。后来发展的语言能让人类直接理解但最终送入计算机的还是这种机器语言。
计算机语言发展到第二代出现了汇编语言。汇编语言用助记符代替了操作码用或标号地址符号代替地址码。这样就用符号代替了机器语言的二进制码。汇编语言也称为符号语言。比起机器语言汇编大大进步了。尽管还是复杂用起来容易出错但在计算机语言发展史上是机器语言向更高级的语言进化的桥梁。
当计算机语言发展到第三代时就进入了“面向人类”的高级语言。高级语言是一种接近于人们使用习惯的程序设计语言。它允许用英文写计算程序程序中的符号和算式也与日常用的数学式子差不多。高级语言发展于20世纪50年代中叶到70年代流行的高级语言已经开始固化在计算机内存里了比如 basic语言。现在计算机语言仍然在不断的发展种类也相当多比如 FORTRAN语言 COBOL语言C语言CC# PASCAOJAVA等等。
1.2 编程语言的分类
计算机语言发展至今已经出现了很多种语言c/cpythonjavac#…下面我们通过分类看一下它们有哪些区别
低级语言机器语言、汇编语言
高级语言c/c、python、java、C#…
低级语言优点在于接近底层程序运行速度快缺点也同样明显程序复杂开发效率低而高级语言虽然在运行速度上比不上低级语言但是在开发效率上优点明显。但是高级语言在不能直接被机器识别需要进行一定的转换才可以被执行。
对于转换形式的不同还可以划分为
编译型语言c/c…
将代码源文件xxx.c经过编译器翻译之后生成可被机器执行的目标文件机器语言修改了源文件则需重新编译生成新的目标文件。
解释型语言python、php…
类似于生活中的“同声翻译”将源程序一边经过对应语言的解释器翻译成机器语言一边执行执行效率较低不能生成可独立执行的目标文件且其执行依赖于解释器。
混合型语言java
java语言比较特殊属于混合型语言半编译半解释
1.3 机器语言
计算机诞生的初期计算机上运行的语言就是机器语言。机器语言就是机器指令的集合机器指令是一台计算机可以正确执行的命令一条机器指令对应一个机器码。下图为第一台计算机ENIAC 早期的程序设计都使用机器语言程序员将用0、1编写成的程序代码打在纸带/卡片上再通过纸带/卡片机将程序输入计算机进行运算。
如果要计算s76812288-1280机器码8086机器如下
101110000000000000000011
000001010000000000110000
001011010000000000000101
也就是说程序执行到上述运算的时候纸片上的数据应该按照上述的机器码进行打孔可想而知如果出错找出错误也是需要考验眼力的。下图为输出 welcome to masm 的机器码 1.4 汇编语言
由于机器语言难以辨别和记忆很快人们就发明了另外一种方法来进行程序编写这种方法也就是汇编语言。汇编语言的主体是汇编指令。相对于机器语言来说汇编指令在记忆上有了极大的改善不同于机器码汇编采用的是机器指令便于记忆的格式。
例如机器指令 1000100111011000 表示把寄存器BX的内容送到AX中。
而汇编指令则为mov ax,bx
这样的方式大大方便了编程人员对于指令的记忆此后程序人员都是采用汇编指令进行程序编写。但是我们需要理解的是计算机只能识别机器指令将汇编指令直接输入到计算机中是不能直接识别的故而我们在程序输入之前需要将汇编指令转换成机器指令实现这种转换方式的程序我们称之为编译器。也就是说汇编程序的执行过程是程序员利用汇编编写程序文件经过编译器翻译之后生成对应的机器码再由计算机最终执行。
如下图所示 汇编语言发展至今有以下三类指令
1汇编指令机器码的助记符有对应的机器码
2伪指令没有对应的机器码由编译器执行计算机并不执行
3其他符号如 - * / 等由编译器识别计算机并不执行
汇编语言的核心是汇编指令它决定了汇编语言的特性。