修炼汇编语言第一章:汇编基础知识概述

news/2024/4/26 11:18:54/文章来源:https://blog.csdn.net/m0_72018048/article/details/130332854

目录

前言

一、汇编语言的组成

二:存储器

三:指令和数据

四:存储单元

五:CPU对存储器的读写

地址总线

控制总线

数据总线


前言

汇编语言是数据结构,操作系统,微机原理等重要课程的基础,但从课程的角度讨论汇编不免太过片面,一言以蔽之:如果你想从事计算机相关工作,那么汇编的基础是必不可缺的,乐言也将在学习中与大家分享汇编的艺术,给大家呈现出汇编的知识架构!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、汇编语言的组成

(1):汇编指令:机器码的助记码,有对应的机器码

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

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

汇编语言的核心是汇编指令,他决定了汇编语言的特性

例子:

操作:寄存器BX的内容送到AX中

机器指令:1000100111010111

汇编指令:mov  ax,bx

二:存储器

指令和数据都在存储器里存放,也就是我们平时所说的内存。磁盘不同于内存,磁盘上的数据如果不被读取到内存之中,将无法被cpu使用。内存的作用仅次于cpu,离开了内存,cpu性能再好也终将徒劳。

三:指令和数据

指令和数据都是应用层面上的概念,在内存或者磁盘上,二者没有任何差别,都是二进制信息,cpu在工作时,有时候将数据看成指令,为同样的信息赋予了不同的意义。

四:存储单元

存储器被划分为若干个存储单元,每个存储单元从0开始编号,例如一个存储单元有128个存储单元,编号从0-127(如图所示)

一个存储单元能存储一个Byte的数据,也就是8bit,一个存储器有128个存储单元,他可以存储128个Byte。微机存储器的容量是以字节为最小单位来计算的,对于拥有128个存储单元的存储器,他的容量为128Byte。而对于大容量的存储器,也可以用以下单位来描述:

1KB=1024B      1MB=1024KB    1GB=124MB    1TB=1024GB

五:CPU对存储器的读写

CPU要是想对内存里的数据进行读写,必须对外部器件(标准来说是芯片)进行以下三类信息交互

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

处理,传输,信息的方式当然是电信号,而传递电信号的当然是导线,通常称为总线,总线分为以下三类:

  • 地址总线
  • 数据总线
  • 控制总线

CPU在4号单元中读取数据的过程如下图:

(1):CPU通过地址线将地址信息从信息4发出

(2):CPU通过控制线发出内存读写命令,选中存储器芯片,并通知他,将要从中读取数据

(3):存储器将4单元中的数据72通过数据线送入CPU

但是如何命令计算机进行读写呢?

        显然还是通过电信号,输入能驱动计算机进行操作的电平信息(机器码),对于8086CPU,下面的机器码能操作完成上述从4单元读数据的操作

  • 机器码:101000010000001100000000
  • 含义:从4单元读取信息送入寄存器AX
  • 而机器码难以记忆,所以我们使用汇编指令

:MOV AX,[4]

地址总线

        CPU是通过地址总线来指定存储器单元的,课件地址总线能传输多少个不同信息,CPU就可以对多少个存储单元进行寻址

        现在假设一个CPU有十根地址总线,而一根导线能稳定传输的状态只有高电平和低电平,即1和0,,那么十根地址线就可以传输10位二进制信息,所以就可以寻址2^10个不同的地址,最小数是0,最大数为1024

控制总线

        CPU对外部器件的控制是由控制总线来进行操作的,在这里控制总线只是个总称,有多少根控制总线就代表了含有多少种控制方法,控制总线的多少决定了CPU对外部器件的控制能力

数据总线

        数据总线是用来传输数据的,有多少跟数据总线就可以传输多少个二进制位,与地址总线原理相似,例如8跟数据总线就可以一次传输8个二进制位

        8088CPU的数据总线的宽度是8,8086CPU的数据总线的宽度为16,我们分别画图来看一下差别:

 (8088)

 (8086)

当数据变多时,有时候8跟数据线要传输两次,而16根只要传输一次,无疑:数据线越多,传输速度越快

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103011.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT中TCP的学习

文章目录 qt中TCP的实现 qt中TCP的实现 学习视频 QT中可以通过TCP协议让服务器和客户端之间行通信。服务器和客户端的具体流程 下方的信号都是系统提供的,我们只需要写相应的槽函数 A、服务器: 创建QTcpServer对象启动服务器(监听&…

【C语言】指针进阶[上] (字符、数组指针、指针数组、数组传参和指针传参)

简单不先于复杂,而是在复杂之后。 目录 1. 字符指针 面试题 2. 指针数组 3. 数组指针 3.1 数组指针的定义 3.2 &数组名 VS 数组名 3.3 数组指针的使用 4. 数组参数、指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二…

后端大厂面试总结大全六

目录: 1、Transactional注解控制事务有哪些不生效的场景2、MySQL的优化 1、Transactional注解控制事务有哪些不生效的场景 数据库引擎不支持事务数据源没有配置事务管理器没有被spring管理方法不是public的同一个类中方法调用,导致Transactional失效 举…

操作系统原理 —— 进程状态切换具体做了哪些事情?(八)

什么是进程控制? 进程控制的主要功能是:对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能。 简单来说,就是进程控制就是要现实进程状态的转换。 那如何实现进程的控制呢?…

手推FlinkML2.2(一)

Java 快速入门 # 本文档提供了一个关于如何使用Flink ML的快速入门。阅读本文档的用户将被指导提交一个简单的Flink作业,用于训练机器学习模型并提供预测服务。 求助,我卡住了!# 如果你遇到困难,请查看社区支持资源。特别是&…

Java线程间通信方式

前文了解了线程的创建方式和状态切换,在实际开发时,一个进程中往往有很多个线程,大多数线程之间往往不是绝对独立的,比如说我们需要将A和B 两个线程的执行结果收集在一起然后显示在界面上,又或者比较典型的消费者-生产…

【论文写作】如何写引言?应该思考什么问题?总体架构!!!

结构 大多数的科技论文都聚焦于简单地说明,做了什么,发现了什么?虽然这个可以帮助你写出一篇研究型论文当中的核心的东西(方法论和结果),但是不能完全把引言的部分完成。在这篇文章当中,将展示…

4 redis高可用

所谓的高可用,也叫HA(High Availability),是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。如果在实际生产中,如果redis只部署一个节点,…

从FMCW毫米波雷达系统的性能参数理解4D成像毫米波雷达的设计思路

本文编辑:调皮哥的小助理 站在设计雷达的角度看,其实无论是传统的3D毫米波雷达,还是如今的4D毫米波成像雷达,其雷达系统性能参数都遵循一个原则,即: d res ⋅ v res ⋅ θ res d max ⁡ ⋅ v max ⁡ ⋅ …

ESP8266通过MQTT协议连接onenet云平台

中国移动onenet平台 文章目录 中国移动onenet平台前言一、onenet平台二、ESP82661.完整代码2.联网代码3.连云代码4.数据处理 总结 前言 最近在弄onenet平台,用arduino结合esp8266,就是不知道怎么回事,一直连不上wifi,然后就用esp…

Linux下使用Mysql 第一天

目录 安装mysql 更改账户名和密码 启动/关闭mysql mysql的基本操作 数据库CURD 创建数据库 查看数据库 修改数据库 删除数据库 表的CURD 创建表 查看表 修改表 删除表 表数据的CURD create数据 Retrieve数据 update数据 delete数据 DML和DDL的区别&#xf…

高分辨率光学遥感图像水体分类综述2022.03

本文是Water body classification from high-resolution optical remote sensing imagery: Achievements and perspectives的学习笔记。 相关资源被作者整理到:这里 文章目录 Introduction基本知识 挑战和机遇挑战1. 有限的光谱信息和小场景覆盖2. 形状、大小和分布…

【JAVA-模块五 数组】

JAVA-模块五 数组 一、数组(一维)1.1数组是什么?1.2java中数组静态初始化:(存)两种定义格式:数组初始化格式:静态初始化后,打印数组名: 1.3 数组元素访问&…

javaweb学生在线考试系统dzkf10程序

打分)、系统管理(数据备份)等功能操作。 以学生的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用个人资料管理、试卷查看、在线考试、在线答疑、个人考试成绩查询等功能…

Oracle的学习心得和知识总结(二十三)|Oracle数据库Real Application Testing之Database Replay相关视图

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《Oracle Database SQL Language Reference》 2、参考书籍:《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…

LVS负载均衡-DR

1.DR模式中每台主机都有一个VIP地址 虚拟网址放在lo网卡上(回环网卡) arp_ignore1 Arp_announce2 系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址 2.内核参数修改 3.vim /etc/rc.conf 开机自启动 Chmod x /etc/rc.d…

【翻译一下官方文档】之uniapp的导航条设置

目录 uni.setNavigationBarTitle(OBJECT) uni.setNavigationBarColor(OBJECT) uni.hideHomeButton(OBJECT) uni.setNavigationBarTitle(OBJECT) 动态设置当前页面的标题。 OBJECT参数说明 参数类型必填说明titleString是页面标题successFunction否接口调用成功的回调函数fai…

卷积神经网络总结

1、卷积核 进行互相关运算。 卷积核的大小一般是奇数。 卷积核的本质类似于提取局部特征(过滤器),当层层卷积核叠加后,卷积核的感受野变大,卷积核的作用逐渐向提取全局抽象特征靠近。最后一层的神经元应该对整个输入…

SpringBoot中@EnableAsync和@Async注解的使用

目录 1.EnableAsync 注解1.1 配置类使用示例1.2 复制请求上下文 2.用法1:Async 注解2.1 测试Controller2.2 测试Service2.3 测试ServiceImpl2.4.测试 4.用法2:直接使用 taskExecutor 做异步4.1 重新实现:测试ServiceImpl4.2 测试 5.Async异步…

ArcGIS三体阴影(影像三维)显示马赛克?

我们经常基于ArcGIS通过DEM来做山体阴影 但是有时候你一放大就会出现很强的马赛克的效果 还有我们在利用ArcScene建三维场景 即使数据分辨率很高也会出现马赛克效果 那怎么来解决这个问题呢 让我们的山体阴影显示更加细腻 三维没有马赛克的效果呢? 右键图层选择如…