什么是编程,什么是编程?( 五 )


len equ $ – msg ;字串长度
section .text ;代码段声明
global _start ;指定入口函数
_start:;在屏幕上显示一个字符串
mov edx, len ;参数三:字符串长度
mov ecx, msg ;参数二:要显示的字符串
mov ebx,1;参数一:文件描述符(stdout)
mov eax,4;系统调用号(sys_write)
int0x80;调用内核功能
;退出程序
mov ebx,0;参数一:退出代码
mov eax,1;系统调用号(sys_exit)
int0x80;调用内核功能
高级语言
高级语言是大多数编程者的选择 。和汇编语言相比 , 它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令 。同时,由于省略了很多细节 , 编程者也就不需要有太多的专业知识 。
高级语言主要是相对于汇编语言而言 , 它并不是特指某一种具体的语言,而是包括了很多编程语言,像最简单的编程语言PASCAL语言也属于高级语言 。
高级语言所编制的程序不能直接被计算机识别 , 必须经过转换才能被执行 , 按转换方式可将它们分为两类:
编译类:编译是指在应用源程序执行之前 , 就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的2进制的机器码组成的) , 使用比较方便、效率较高 。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码 , 修改很不方便 。
编译后程序运行时不需要重新翻译,直接使用编译的结果就行了 。程序执行效率高,依赖编译器,跨平台性差些 。如C、C++、Delphi等
解释类:执行方式类似于我们日常生活中的“同声翻译” , 应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件 , 应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态地调整、修改应用程序 。如Python、Java、PHP、Ruby等语言 。
总结
机器语言
优点是最底层 , 速度最快,缺点是最复杂,开发效率最低
汇编语言
优点是比较底层,速度最快,缺点是复杂,开发效率最低
高级语言
编译型语言执行速度快 , 不依赖语言环境运行,跨平台差
解释型跨平台好 , 一份代码,到处使用,缺点是执行速度慢,依赖解释器运行