• 汇编语言


    大学学了C吾言,java,R吾言等等,但是一直都不太满意,java太臃肿,资料太多,jar包也太多,C吾言还好。每门吾言都有他的优越性,没接触过汇编语言,所以就想认真看一遍,至于实验运用,暂时不会去做。这一篇随笔,会持续更新,都是简单笔记而已。

    第一章 基础知识

    1.1机器语言

    1、计算机概念:

    早期:可以执行机器指令,进行运算的机器。

    现在:CPU和其他受CPU直接或者间接控制的芯片、器件、设备组成的计算机系统。

    1、机器语言:每一种微处理器都有自己的机器指令集。---原因:硬件设计和内部结构不同。

    总结:机器语言是由高低电平、硬件和处理器内部结构决定,而其代码由0和1组成。

    早期纸带打孔:1打孔,0不打孔

    1.2汇编语言的产生

    (具体描述略,汇编初步解决了机器和人的交流关系,使交流更顺畅,但低层01电路设计依旧伟大,是地基)

    举例:

    操作:BX的内容送到AX中

    机器指令:1000100111011000

    汇编指令:mov ax,bx(对比C和java,有点类似于赋值写法,只是等号变成逗号)

    汇编语言的编写工作过程:程序猿—》汇编指令—》编译器—》机器码—》计算机

    对比c吾言:程序猿编辑c吾言代码—》编译器(词法分析、语法分析、语义检查、中间代码生成、代码优化、目标代码生成)—》链接—》运行

    java语言本质也是如此,只不过在这个过程中,他们的编写方式、程序设计的区别,使得他们各有各的优点缺点。

    1.3汇编语言的组成

    三类指令组成:

    汇编指令:机器码的助记符,有对应的机器码

    伪指令:没有对应的机器码,由编译器执行,计算机并不执行。

    其他符号:如+,-,*/等,由译码器识别,没有对应的机器码

    汇编语言的核心:汇编指令,它决定了汇编语言的特性

    总结:语言的发展从低级到高级的过程,可以想象未来中文,乃至任何一门吾言都将被计算机所读懂。

    1.4存储器

    内存—记忆

    硬盘—内存—CPU

    1.5指令和数据

    指令和数据是运用上的概念。

    当二者进入cpu时,cpu才赋予他们意义。

     1.6存储单元

    1bit,即一个二进制位。

    8bit=1Byte(即一个字节)。

    128个存储单元=128个Byte

    128个存储单元=1024bit

    1.7CPU对存储器的读写

    CPU交互:

    存储单元的地址(地址信息)。

    器件的选择,读或写的命令(控制信息)。

    读或写的数据(数据信息)

    信号的传输:通过总线

    总线分类:地址线,数据线,控制线

    注意:8086CPU和8088CPU的区别。

    机器码略,传送3号单元的内容入AX:

    mov ax,[3]

    1.8地址总站

    1根导线对应两种状态,10根导线,对应2的10次方种状态,即数据。最小数为0,最大数为1023。

    地址总线的宽度即为总站的根数。

    1.9数据总线

    8根数据总线对应8位二进制数(即一个字节),16根数据总线对应两个字节。

    注意:8088CPU的数据总线宽度为8,8086CPU数据总线的宽度为16。

    例如:

    8088CPU发送数据89D8时,需要两次,第一次发送D8,第二次发送89。

    8086CPU则一次性发送完成。(原因上述注意处)

    1.10控制总线

    对部件的控制,总线决定对外部器件控制的种数,能力。

    1.11内存地址空间

    一个CPU地址总线宽度为10,那么可寻址1024个内存单元,这1024个寻到的内存单元就构成这个CPU的内存地址空间。

    1.12主板

    1.13接口卡

    CPU控制接口卡,从而间接控制外设。

    1.14各类存储器芯片

    随机存储器(RAM)————主存储器

    只读存储器(ROM)--------装有系统BIOS

    显卡——RAM显卡,ROM(装有显卡BIOS)

    网卡————装有网卡BIOS

    1.15内存地址空间

    汇编————内存地址空间

    CPU将系统中各类存储器看作一个逻辑存储器。

    总结:划分成多个地址空间,分配给各个部件,控制并使用。

    注意,不同计算机系统的内存地址空间的分配情况是不同的。

    8086PC机内存地址空间的分配基本情况:000000~9FFFF(主存储器地址空间【RAM】)、A0000~BFFFF(显卡地址空间)

    C0000~FFFFF(各类ROM地址空间)

  • 相关阅读:
    IDEA导入外部jar包步骤
    将本地新建工程推到git上
    【转】Memcached与Redis有什么区别
    Redis
    JavaScript-Tool-lhgDialog-js:lhgdialog.js
    信息安全-HTTP:HTTP 身份验证
    信息安全-HTTP:HTTP访问控制(CORS)
    JavaScript-Tool-lhgDialog:框架示例
    JavaScript-Tool-lhgDialog:动画示例-源代码
    JavaScript-Tool-lhgDialog:动画示例
  • 原文地址:https://www.cnblogs.com/ciscolee/p/14155045.html
Copyright © 2020-2023  润新知