zoukankan      html  css  js  c++  java
  • 汇编语言笔记


    title: 汇编语言笔记
    date: 2018-06-3 20:17:12
    updated: 文件更新日期
    tags: [SYSTEM,汇编语言,CSAPP,计算机基础]
    categories: 底层技术

    汇编语言简介

    汇编语言的组成

    1. 汇编指令(机器码的助记符)
    2. 伪指令(由编译器执行,计算机并不认识)
    3. 其他符号
    • 汇编指令是机器指令的助记符,同机器指令一一对应。
    • 每一种CPU都有自己的汇编指令集。
    • CPU可以直接使用的信息在存储器中存放。
    • 在存储器中指令和数据没有任何区别,都是二进制信息。
    • 存储单元从零开始顺序编号。
    • 一个存储单元可以存储8个bit(1Byte),即8位二级制数。
    • CPU芯片的管脚都和总线相连,一共三种总线
      1. 地址总线的宽度决定了CPU的殉职能力。
      2. 数据总线的宽度决定了CPU与其他期间进行数据传输的传送量。
      3. 控制总线决定了CPU对系统中其他器件的控制能理。

    内存地址空间

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

    各类存储器芯片

    从读写分为:

    随机读写(RAM)和只读存储器(ROM)

    从功能上和连接上分类:

    • 随机存储器RAM
    • 装有BIOS的ROM
    • 接口卡上的ROM

    寄存器

    CPU概述

    一个典型得CPU由运算器/控制器/寄存器等期间组成,这些器件靠内部总线相连。
    区别:

    • 内部总线实现CPU内部各个器件之间的联系。
    • 外部总线实现CPU和主板上其他器件的联系。

    寄存器概述

    8086CPU有14个寄存器,他们的名称为:
    AX/BX/CX/DX/SI/DI/SP/BP/IP/CS/SS/DS/ED/PSW.
    一个16位的寄存器能粗出的最大数据为2^16-1.

    AX,BX,CX,DX处于兼容性是可以把16位寄存器当作两个8位寄存器使用的。
    AX可分为AH,AL。H表示高位(8-15),L表示低位(0-7)。BX,CX,DX同理。

    如果超过16位,寄存器不保留高位。会采取相应措施保留高位进位数。

    段的概念

    内存并没有分段,而是因为CPU使用 段地址×16+偏移地址=物理地址的方式给出内存单元的物理地址,所以可以用分段的方式来管理内存。

    8086给出物理地址的方法


    物理地址=短地址×16+偏移地址
    过程说明:

    CS为段寄存器,IP为偏移寄存器。8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。
    工作过程:

    1. 从CS:IP指向内存单元读取指令,读取的指令指向指令缓冲器;
    2. IP指向吓一跳指令;
    3. 执行指令。(转到步骤1,重复这个过程)
  • 相关阅读:
    hiveserver2 with kerberos authentication
    python Basic usage
    python Quicksort demo
    Python HeapSort
    mrunit for wordcount demo
    CCDH证书
    Hadoop question list
    Hadoop Yarn core concepts
    Hadoop Resource
    Hadoop could not find or load main class
  • 原文地址:https://www.cnblogs.com/didadida/p/10144615.html
Copyright © 2011-2022 走看看