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

news2024/10/6 22:27:28

目录

前言

一、汇编语言的组成

二:存储器

三:指令和数据

四:存储单元

五: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.coloradmin.cn/o/457520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法】冒泡排序

一.冒泡排序 主要思想: 反复交换相邻的元素,使较大的元素 逐渐冒泡到数组的末尾,从而实现排序的效果 实现过程: 1.遍历待排序数组,比较相邻的元素,如果前面的元素比后面的元素大, 就交换这两…

系统集成项目管理工程师 笔记(第八章:项目进度管理)

文章目录 8.1 规划项目进度管理 2938.1.1 规划项目进度管理的输入 2938.1.2 规划项目进度管理的工具与技术 2948.1.3 规划项目进度管理的输出 295 8.2 定义活动 2968.2.1 定义活动的输入 2968.2.2 定义活动的工具与技术 2968.2.3 定义活动的输出(两清单、一属性&…

【深度学习】学习率与学习率衰减详解:torch.optim.lr_scheduler用法

【深度学习】学习率与学习率衰减详解:torch.optim.lr_scheduler用法 文章目录 【深度学习】学习率与学习率衰减详解:torch.optim.lr_scheduler用法1. 介绍1.1 学习率与学习率衰减 2. TensorFlow中的学习率衰减3. PyTorch中的学习率衰减2.1 optimizer 综述…

md/分类/信号领域/数字信号处理及MATLAB实现/频率调制(FM).md

文章目录 本文链接https://zh.wikipedia.org/wiki/频率调制用Python模拟FM/PM调制解调过程波形变化频率调制我的 本文链接 打死他 调频(英语:Frequency Modulation,缩写:FM)是一种以载波的瞬时频率变化来表示信息的方…

Java文件操作必备技能,10个小技巧让你快速掌握!

前言 在我们日常的开发中,文件操作是一个非常重要的主题。文件读写、文件复制、任意位置读写、缓存等技巧都是我们必须要掌握的。在这篇文章中,我将给你们介绍 10 个实用的文件操作技巧。 使用 try-with-resources 语句处理文件 IO 流,确保在…

C++Vector类详解

目录 1.Vector介绍 2.Vector的常见使用 2.1 vector构造函数 2.2 vector iterator使用 2.3 vector空间增长问题 2.4 vector增删改查 2.5 vector迭代器失效问题 3.Vector深度剖析及模拟实现 3.1 模拟实现(可跳过) 3.2 不使用memcpy剖析 1.Vector介绍 ve…

【LeetCode】106. 从中序与后序遍历序列构造二叉树

1.问题 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1 输入:inorder [9,3,15,20,7], postorder [9,15,7,20,3] 输出&#…

世优科技AI数字人产品“世优BOTA”发布!全面提升AI虚拟员工能力

2023年4月20日,“世优BOTA”产品发布会在北京圆满落幕。此次发布会上,世优(北京)科技有限公司(以下简称“世优科技”)正式发布了新一代AI数字人现象级产品——“世优BOTA”。来自现实世界的LiveVideoStack创始人包研与来自数字世界的世优虚拟主持人「阿央」通过新颖的互动开场方…

JDK多版本配置及切换版本不生效问题解决

一、准备工作 首先你要有多个版本的jdk,如果没有请移至 https://www.oracle.com/java/technologies/downloads/ 下载,具体下载方法可参考:Java同学入职环境安装全讲解 二、配置环境变量 在环境变量中配置多个JAVA_HOME,我这里…

Java中TCP通信的实现

0、TCP通信 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议, 如果使用了 WireShark 工具,可以看到一次TCP连接建立时的整个过程。 1、单向通信 单向通信中&…

案例01-tlias智能学习辅助系统01-增删改查+参数传递

目录 1、需求说明:实现对部门表和员工表的增删改查 2、环境搭建 3、部门管理 3.1 查询部门 3.2 前后端联调 3.3 删除部门 3.4 新增部门 3.5 根据ID查询数据 3.5 修改部门 总结(Controller层参数接收): 4、员工管理 4.…

CMIP6:WRF模式动力降尺度、单点降尺度、统计方法区域降尺度

气候变化关系到农业、生态系统、社会经济和人类生存与发展,是当今世界关注的重点问题之一。IPCC(Intergovernmental Panel on Climate Change)第6次评估报告指出,自 20 世纪 50 年代以来,从全球平均气温和海温升高…

一个关于Mybatis和spring的公共组件starter

utils-springboot-starter 介绍使用说明 介绍 一个关于Mybatis和spring的公共组件starter,目前包含以下功能: 接口请求日志SQL执行日志数据自动加解密数据自动脱敏服务治理方面: 接口限流接口熔断降级:CPU、内存、异常数、异常率…

51.网页设计规则#1_字体设计

一些概念 字体排版 排版是安排字体的艺术和技术,以使书面语言在显示时清晰、可读和吸引人。(来自维基百科翻译) serif字体和sans-serif字体 serif字体 ● 创造一个传统/经典的外观和感觉 ● 体现出可信度 ● 适合长文本 sans-serif字体 …

【JavaScript】7.DOM的操作元素

DOM 的操作元素 JavaScript 的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容 、属性等 1. 改变元素内容 element.innerText:从起始位置到终止位置的内容, 但它去除 html 标签, 同时空格和换行也会…

Pytorch深度学习笔记(十)多分类问题

课程推荐:09.多分类问题_哔哩哔哩_bilibili 目录 1. 多分类模型 2. softmax函数模型 3. Loss损失函数 4.实战MNIST Dataset 之前,在逻辑斯蒂回归中我们提到了二分类任务,现在我们讨论多分类问题。 1. 多分类模型 与二分类不同的是多分…

基于C#asp.net心里咨询服务网站系统

功能模块: 主要分为管理员和注册用户,注册用户可以查看所有人发布的心里文章,情感在线问答,查询相似问题,以及进入论坛进行交流(发帖跟帖评论收藏等)后台管理主要是针对个人信息修改 管理员对注…

SpringBoot自动装配机制的原理

自动装配 简单来说,就是自动去把第三方组件的Bean装载到IOC容器里面。不需要开发人员再去写Bean相关的一个配置。 在SpringBoot应用里面,只需要在启动类上去加上SpringBootApplication注解就可以实现自动配置,SpringBootApplication注解它是…

DSPC174 3BSE005461R1码垛工业机器人安装调试的13个步骤

​ DSPC174 3BSE005461R1码垛工业机器人安装调试的13个步骤 ABB码垛工业机器人安装调试的13个步骤 最近工业机器人市场上,调试工作比较火爆,单个项目动辄几十台机器人同时调试,开出的日薪达到1500-2000元。拥有如此庞大的市场需求和丰厚收入…

Hudi数据湖技术之核心概念

目录 1 基本概念1.1 时间轴Timeline1.2 文件管理1.3 索引Index 2 存储类型2.1 计算模型2.1.1 批式模型(Batch)2.1.2 流式模型(Stream)2.1.3 增量模型(Incremental) 2.2 查询类型(Query Type&…