第一代语言
机器语言
- 计算机的基本计算方式都是基于二进制
- 二进制有0与1构成,逢二进一
- 计算机直接识别,不需要任何转换
为了解决机器语言人们无法读懂的和难以识别的问题,下面出现第二代语言
第二代语言
汇编语言
- 解决人们无法读懂机器语言
- 指令代替二进制
- 应用于:
- 逆向工程
- 机器人
- 病毒
- 。。。。。。
assume cs:codesg
codesg segment
mov ax,0123h
mov bx,0456h
add ax,bx
add ax,ax
mov ax,4c00h
int 21h
codesg ends
end
segment 和 ends 是一对成对使用的伪指令,这是在写可被编译器编译的汇编程序时必须要用到的一对伪指令,功能是定义一个段,segment说明段开始,ends说明段结束
格式为 段名 segment
段名 ends
assume含义为假设,用来关联某一段寄存器和 segment....ends定义的段
例如 编程计算 2^3
assume cs:code
code segment
mov ax,2
mov ax,ax
mov ax,ax
code ends
end
程序返回
mov ax,4c00h
int 21h
汇编源程序包括汇编指令和伪指令。其中汇编指令有对应的机器码指令,可以被编译为机器指令,最终为CPU所执行。伪指令由编译器来执行,编译器根据伪指令来进行相关的编译工作
loop指令的格式为 loop 标号
执行过程
1 (CX) = (CX)-1
2 判断cx是否为0,
不为0转向标号,为零则执行下一条语句
例如 计算 2^12
assume cs:code
code segment
mov ax,2
mov cx,11
S: add ax,ax
loop s
mov ax,4c00h
int 21h
code ends
end
第三代语言
-
摩尔定律
当价格不变的时,集成电路上可容纳的晶体管数目,大约每隔18-24个月就会翻上一倍,性能也提升一倍。
-
高级语言
- 面向过程、面向对象 这两类
- c是典型的面向过程的语言,c++ Java是面向过程的语言
- c是第三代语言的核心
- 很多第三代语言都是以c为核心的开发的,包括Java
- c是高级语言的鼻祖,我觉得也不为过
注:学习的简单总结