首页 > 编程语言 >汇编基础

汇编基础

时间:2023-07-14 20:55:13浏览次数:45  
标签:汇编 基础 存储器 总线 内存 存储单元 cpu 器件

汇编语言的组成

  1. 汇编指令(机器码的助记符)
  2. 伪指令(由编译器执行)
  3. 其他符号(由编译器识别)
  • 汇编语言的核心是汇编指令,它决定了汇编语言的特性

存储器

  1. 指令和数据在存储器中存放,也就是平时所说的内存
  2. 磁盘不同于内存,磁盘中的数据或程序如果不读入内存,就无法被cpu使用

指令和数据

  • 在内存或磁盘上,指令和数据没有任何区别,都是二进制信息
二进制信息
1000100111011000 -> 89D8H(数据)
1000100111011000 -> MOV AX,BX (程序)
  • 使用时存储器时由用户向电脑说明是数据还是程序

存储单元

  • 存储器被划分为若干个存储单元,每个存储单元从0开始编号

cpu对存储器的读写

cpu要想进行数据的读写,必须和外部器件进行3类信息的交互:

  • 存储单元的地址(地址信息)
  • 器件的选择,读或写命令(控制信息)
  • 读或写的数据(数据信息)

计算机能处理,传输的信息都是电信号,电信号用导线传播
在计算机中有专门连接cpu和其他芯片的导线,称为总线(地址总线,控制总线,数据总线)

地址总线

  • cpu是通过地址总线来指定存储单元的
  • 地址总线上能传送多少个不同的信息,cpu就可以对多少个存储单元进行寻址

数据总线

  • cpu与内存或其他器件之间的数据传送是通过数据总线来进行的
  • 数据总线的宽度决定了cpu和外界的数据传送的速度

控制总线

  • cpu对外部器件的控制是通过控制总线来进行的。(控制总线是一些不同控制线的集合)
  • 有多少根控制总线就意味着cpu提供了对外部器件的多少种控制

小结

  1. 汇编指令是机器指令的助记符,同机器指令一一对应
  2. 每一种cpu都有自己的汇编指令集
  3. cpu可以直接使用的信息在存储器中存放
  4. 在存储器中指令和数据没有区别,都是二进制信息
  5. 存储单元从零开始顺序编号
  6. 一个存储单元可以存储8bit,即8位二进制数
  7. 1B=8b,1KB=1024B
  8. 每一个cpu芯片都有许多管脚,这些管脚和总线相连。

内存地址空间

  1. 一个cpu的地址总线宽度为10,那么可以寻址1024个内存单元,这1024个内存单元就构成了这个cpu的内存地址空间

主板

  • 在每一台pc机中,都有一个主板,主板上有核心器件和一些主要器件。
  • 这些器件通过总线(地址总线,数据总线,控制总线)相连

接口卡

  • 计算机系统中,所有可用程序控制其工作的器件,必须受到cpu控制
  • cpu对外部设备不能直接控制,如显示器等,直接控制这些设备进行工作的是插在扩展插槽上的接口卡

各类存储器芯片

  • 从读写属性方面上来看分为两类:
    随机存储器(RAM)和只读存储器(ROM)

  • 从功能和连接上分类:
    随机存储器(RAM)
    装有bios的ROM
    接口卡上的RAM

  • BIOS:Basic Input/Output System,基本输入输出系统:
    BIOS是由主板和各类接口卡(如:显卡,声卡等)厂商提供的软件系统,可以通过它利用该硬件设备进行最基本的输入输出。在主板和某些接口卡插有存储相应bios的ROM

内存地址空间

  • 存储器在物理上是独立的器件

  • 但他们在以下两点相同:

    1. 都和cpu总线相连
    2. cpu对它们进行读或写的时候都通过控制线发出内存读写命令
  • 从cpu角度来看分为:主存储器(RAM),显存地址空间,ROM。

  • 最终运行程序的是cpu,编程的时候必须要从cpu的角度考虑问题

标签:汇编,基础,存储器,总线,内存,存储单元,cpu,器件
From: https://www.cnblogs.com/dg05/p/17542525.html

相关文章

  • Python基础day45
    SQL注入问题importpymysql#连接MySQL服务端conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='123',database='db8_3',charset='utf8',autocommit=True#针对增......
  • 构建强大算力基础,奠定AI时代基石!
    7月6日,2023世界人工智能大会在上海拉开序幕。由中国电信主办的“算网一体融创未来”主题论坛也于当日在上海世博中心举行。上海市经济和信息化委员会副主任戎之勤、上海市金山区人民政府副区长葛钧、中国电信数字智能科技分公司副总经理何忠江、中国电信上海公司副总经理胡伟良、......
  • JavaWeb基础:安装tomcat和maven
    JavaWeb基础:安装tomcat和maventomcat闪退问题下载zip即可,无需配置,只需运行相关文件即可文档所在位置:D:\Environment\apache-tomcat-9.0.78\bin开启:startup.bat关闭:shutdown.batjava8不适用tamcat10及以上版本解决办法:https://blog.csdn.net/egegerhn/article/details/1260......
  • Linux 基础(一)
    Linux基础(一)理念一切皆文件硬件文件名显示器fb0鼠标mouse1键盘event0触摸屏event1摄像头video0打开摄像头:openvideo0​​打开摄像头(打开video0文件)拍照:readvideo0拍照(从video文件中读取数据)基本概念目录类似于windows中的......
  • 微信小程序基础
    0-demodemo.wxml<!--pages/demo/demo.wxml--><text>{{10+20}}</text><view>{{10>20?'aaaa':'bbbb'}}</view><view>{{myName}}</view><viewid="my-{{ids[0]}}">aaaaaa</view......
  • 刷力扣高频SQL50题(基础)总结
    此随笔仅总结个人刷SQL题时,突然不会使用的某函数或某方法,大佬勿看勿喷regexp'正则表达式'一般用于邮箱校验例题:查找拥有有效邮箱的用户select*fromuserswheremailregexp'^[a-zA-Z]+[a-zA-Z0-9_\\./\\-]*@leetcode\\.com$'窗口函数窗口函数讲解函数+over(pa......
  • C#基础
    重生之再学C# 1、第一章类-----Class参考:https://www.runoob.com/csharp/csharp-class.html定义一个类时,也就定义类的对象由什么组成  和在这个对象上可执行什么操作。对象就是类的实例,构成   类的方法和变量   称为类的成员。 访问标识符<access......
  • 【第1周】深度学习基础
    一、代码练习1.pytorch基础练习1.1数据定义一般定义数据使用torch.TensorTensor支持各种各样类型的数据,包括:torch.float32,torch.float64,torch.float16,torch.uint8,torch.int8,torch.int16,torch.int32,torch.int64等创建Tensor有多种方法,有:ones,zeros,eye,a......
  • docker基础知识
    前言我正在参加「掘金·启航计划」。Docker是一个开源的容器化平台,它提供了一种轻量级且可移植的方法来打包、分发和运行应用程序。通过使用Docker,开发人员可以将应用程序及其依赖项打包到称为容器的独立单元中,以便在不同的环境中运行,而无需担心环境差异和依赖项冲突。可以说doc......
  • 从零玩转系列之SpringBoot3-基础特性
    一、简介1.前置知识​ ●Java17​ ●Spring、SpringMVC、MyBatis​ ●Maven、IDEA2.环境要求环境&工具版本(orlater)SpringBoot3.1.xIDEA2023.xJava17+Maven3.5+Tomcat10.0+Servlet5.0+GraalVMCommunity22.3+NativeBuildTools0......