一. 汇编概述

简介: 机器语言--->汇编语言--->C语言之间的关系

一. 机器语言--->汇编语言--->C语言之间的关系


1. 机器语言是能识别0和1.

  比如加号+: 对应的机器语言是: 0100 0000

      -: 对应的机器语言是: 0100 1000

      *: 对应的机器语言是: 1111 0111 1110 0000

      /: 对应的机器语言是: 1111 0111 1111 0000

  机器语言难以记忆, 做任何的运算都需要记住大量的01. 因此在机器语言的基础上发展出来了汇编语言

2. 汇编语言

  相对机器语言来说, 汇编语言更简单了, 他使用符号来代表对应的指令

  比如 加法 +: 汇编语言是 INC EAX,    对应的机器语言是 0100 0000

        _: 汇编语言是 DEC EAX,   对应的机器语言是: 0100 1000

        *: 汇编语言是 MUL EAX,   对应的机器语言是: 1111 0111 1110 0000

        /: 汇编语言是 DIV EAX,   对应的机器语言是: 1111 0111 1111 0000

  汇编语言相对于机器语言来说, 记忆起来方便多了. 那么汇编语言, 机器能识别么? 机器肯定是不能直接识别 INC EAX是加法的. DEC EAX是减法. 这就需要编译器, 将汇编语言解析成机器可以识别的0和1

 

     所以, 如果想学好汇编语言, 就需要记住他里面各种符号代表的是什么意思.

 

3. 高级语言

  汇编语言相对机器语言已经简单的多了, 但是, 他依然不符合我们的日常生活习惯. 我们的习惯是, 加法用+, 减法用- . 那么随着发展, 就出现了C语言, C语言就称为高级语言

  比如: 同样是加法 在C语言中表示就是 +

                     -

                   *

                     /

  这是符合我们人类思维方式的. 那么问题来了, 计算机怎么能认识我们写的 + - * /呢? 计算机肯定不认识, 所以又有了编译器, 编译器将 +-*/转换成了0和1, 交给机器来执行.

  由此可见, 并不是语言高级了,而是编译器更高级了.  编译器越强大, 代码写的越简单, 越符合人类的习惯

 

 

相关文章
|
9月前
|
存储 安全 程序员
5.1 汇编语言:汇编语言概述
汇编语言是一种面向机器的低级语言,用于编写计算机程序。汇编语言与计算机机器语言非常接近,汇编语言程序可以使用符号、助记符等来代替机器语言的二进制码,但最终会被汇编器编译成计算机可执行的机器码。相较于高级语言(如C、Python等),汇编语言学习和使用难度相对较大,需要对计算机内部结构、指令集等有深入的了解,以及具有良好的编程习惯和调试能力。但对于需要对计算机底层进行操作的任务,汇编语言是极其高效的,因为其可以实现对计算机底层资源的精细控制,极大地提高了计算机运行效率。
68 0
|
C语言 Unix 编译器
带你读《C指针原理揭秘:基于底层实现机制》之三:AT&T汇编概述
本书从底层实现机制进行解析,同时配合C/C++编程技巧以及某些指针运用技巧,讲解如何提高程序效能,如何避免滥用指针,从C语言编程的角度讲解C指针,力图使读者学会运用C指针进行开发,并能进一步灵活将指针运用在精巧的算法上,构造更复杂的软件系统。
|
4月前
|
存储 程序员
【汇编】“转移”综述、操作符offset、jmp指令
【汇编】“转移”综述、操作符offset、jmp指令
120 1
|
8天前
|
存储 C++
C/C++中的整数除法运算与汇编指令DIV和IDIV
C/C++中的整数除法运算与汇编指令DIV和IDIV
16 1
|
8天前
|
存储 安全 程序员
C/C++中的整数乘法运算与汇编指令MUL和IMUL
C/C++中的整数乘法运算与汇编指令MUL和IMUL
12 0
|
8天前
|
编译器 C++
C/C++中的逻辑运算与汇编指令的交互
C/C++中的逻辑运算与汇编指令的交互
8 0
|
8天前
|
编译器 程序员 C++
C/C++逻辑与运算与汇编指令的关系
C/C++逻辑与运算与汇编指令的关系
13 0
|
8天前
|
程序员
汇编语言中的带符号比较跳转指令
汇编语言中的带符号比较跳转指令
12 0
|
8天前
|
程序员
深入理解汇编:平栈、CALL和RET指令详解
深入理解汇编:平栈、CALL和RET指令详解
13 1
|
8天前
理解汇编中的CALL指令和参数传递
理解汇编中的CALL指令和参数传递
12 1