汇编语言第一章学习总结

汇编是机器语言的翻译(0和1组成的机器码),想要了解汇编语言,我们必须先了解硬件系统的结构

下面是冯诺依曼体系关于与计算机的结构框架

汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。汇编指令是机器指令的助记符。

计算机能读懂的只有机器指令,那么如何让计算机执行程序员用汇编指令编写的程序呢?这时候就是编译器(将汇编语言翻译成机器语言)起作用的时候了。

汇编语言可以节省早期程序员的大量时间,那汇编语言道理是如何组成的呢?下面我会详细介绍

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

汇编语言由以下3类部分组成:

1、汇编指令(机器码的助记符)

2、伪指令 (由编译器执行)

3、其它符号(由编译器识别)

这张图片清晰的展示了汇编语言的三个组成

汇编程序写好了储存在哪儿呢?

下面是计算机的各种存储设备

计算机存储设备有三种

cpu:CPU 是计算机的核心部件.它控制整个计算机的运作并进行运算

内存:在一台PC机中内存的作用仅次于CPU。 离开了内存,性能再好的CPU也无法工作。磁盘中的数据如果不读入内存,CPU识别不出!程序和数据平常存储在硬盘等存储器上,不管你开机或关机了,它们都是存在的,不会丢失。硬盘可以存储的东西很多,但其传输数据的速度较慢。所以需要运行程序或打开数据时,这些数据必须从硬盘等存储器上先传到另一种容量小但速度快得多的存储器,之后才送入CPU进行执行处理。这中间的存储器就是内存。

硬盘(磁盘):存储大量数据,速度较内存慢,磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU 使用。

存储设备如何存储信息呢?

各种存储设备都有存储单元

存储器被划分成了若干个存储单元,每个单元都是从0开始的,计算机最小的信息单位是bit,就是一个二进制位,8个bit组成一个byte,也就是一个字节,比如,一个存储器有128个存储单元,他就可以存储128个Byte的数据。

存储单位换算 1KB==1024B   1MB==1024KB  1GB==1024MB  1TB==1024GB

关于数据与指令的存储

① 在内存或磁盘上,指令和数据都以二进制形式存在, 在形式上没有任何区别。

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

那如何用汇编指令控制计算机呢?那必须得谈到CPU了

CPU 是计算机的核心部件.它控制整个计算机的运作并进行运算,要想让一个CPU 工作,就必须向它提供指令和数据。

存放好的数据又如何传给cpu进行处理呢?

CPU对存储器的读写

在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。CPU要是想进行数据的读写必须与外部存储设备进行3类的信息交互:

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

数据总线:CPU与内存或其它器件之间的数据传送是通过数据总线来进行的。 数据总线的宽度决定了CPU和外界的数据传送速度。例:8根数据总线一次可以传送8位2进制数据(即是一个字节)

控制总线:CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。 有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。  所以,控制总线的宽度决定了CPU对外部器件的控制能力。

简化过程就是 cpu寻址,然后对对应地址的储存单元进行读写操作

最后说一下内存地址空间

内存地址空间:即内存空间地址编号

内存地址用4位16进制和8位16进制表示的区别。例如经常可以看到某些书籍上写的内存地址0x0001,在另外一些书籍上写的内存地址又变成了0x00000001。都是表示的编号为1的内存地址,为什么一个是4位16进制表示,另外一个又是用8位16进制表示呢?

首先,必须要知道内存地址只是一个编号,代表一个内存空间。那么这个空间是多大呢?原来在计算机中存储器的容量是以字节为基本单位的。也就是说一个内存地址代表一个字节(8bit)的存储空间。

例如经常说32位的操作系统最多支持4GB的内存空间,也就是说CPU只能寻址2的32次方(4GB),注意这里的4GB是以Byte为单位的,不是bit。也就是说有4G=4*1024M(Byte)=4*1024*1024Kb(Byte)=4*1024*1024*1024bit(Byte),即2的32次方个8bit单位。

所以说用4位16进制表示的内存地址和用8位16进制表示的内存地址,其实都是代表一个8bit的存储空间而已

那这些存储空间在哪儿呢?别急,我们先介绍主板和接口卡

主板

主板每一台PC机中,都有一个主板,主板上有核心器件和一些主要器件,

这些器件通过总线相连。根据总线上传输的信息,从逻辑上分为地址总线、数据总线、控制总线。

接口卡

CPU对外部设备不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展插槽上的接口卡。

各类存储器芯片

下面是PC机中各类存储器的逻辑连接示意图

原文地址:https://www.cnblogs.com/Sakura0-0/p/9710648.html

时间: 2024-11-13 06:51:01

汇编语言第一章学习总结的相关文章

细读《从问题到程序(第二版)》第一章学习总结

李磊20199131 细读<从问题到程序(第二版)>第一章学习总结 教材学习内容总结 编程需要掌握的工作方式 我们需要从问题的要求出发,从高层开始设计程序,并逐步分解程序功能.当程序所需的功能分解到一定的程序后,就可以借助程序语言的结构,描述程序工作中的细节步骤了. 高级语言中两种基本的实现技术-编译和解释 编译:采用编译的方式实现高级语言:针对具体语言开发出一个翻译软件,它能将通过高级语言编写出来的程序翻译成能被计算机所识别的机器语言 解释:针对具体语言开发出一个解释软件,它能将写好的程序学

【tapestry3笔记】--tapestry 初探,《 tapestry in action 》第一章学习笔记

由于要维护一个项目,要用到tapestry3这个老框架,虽然这个框架很老,但是在我看来ta的思想还是很先进的---面向组件编程. 由于网上资料少的可怜,辛苦找了很久终于找到一本名为<tapestry in action>的工具书,以下学习笔记均以此书为参考. 正文---tapestry初探 tapestry in action 第一章学习笔记 tapestry是一款以组件为核心的开发框架,组件就向一个黑盒子,我们无需关系组件是如何实现的,只需合理使用即可.这有点像jquery的插件,我们无需关

html5 +css3 第一章学习和笔记

各位同学.身为本版的斑竹.,希望各位童鞋都能学到Html5 .特此没两天更新一个学习笔记和大家一起学习Html5.... 语法改变       1.新增的元素和废除的元素       2.新增的属性和废除的属性       3.全局属性 html5和4的区别:DOCTYPE.声明.内容类型.字符的编码的制定方法.元素标记的省略.布尔值的类型.引号的省略 一:html5中的标记方法        1内容类型:.html  .htm        2DOCTYPE声明: <!DOCTYPE html

《构建之法》第一章学习

<构建之法>第一章学习 1.软件工程的定义 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.人们在开发.运营.维护软件的过程中有很多技术.做法.习惯和思想体系.软件工程把这些相关的技术和过程统一到一个体系中,叫"软件开发流程".软件开发流程的目的是为了提高软件开发.运营.维护的效率,并提高软件的质量.用户满意度.可靠性和软件的可维护性. 1.1软件的特殊性 软件是可以运行在计算机及电子设备中的指令和数据的有序集合,软件的主要形式有: 系统软件:

20172327 2017-2018-2 《第一行代码Android》第一章学习总结

学号 2017-2018-2 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动,Wi-Fi驱动,电源管理等. 2.系统运行底层 - 通过一些C/C++库来为Android系统提供了主要的特性支持 库名 功能 SQLite库 提供数据库的支持 OpenGL/ES库 提供3D绘图支持 Webkit

《构建之法》第一章学习总结

<构建之法>第一章学习总结 1.软件=程序+软件工程 1.1软件开发的不同阶段 玩具阶段 业余爱好阶段 探索阶段 成熟的产业阶段 1.2程序,软件与软件企业 程序=数据结构+算法 软件=程序+软件工程 软件企业 = 软件 + 商业模式 程序(算法.数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量:商业模式决定了一个软件企业的成败.软件从业人员和软件企业的道德操守会极大地影响软件用户的利益. 2.软件工程是什么 2.1软件工程的定义与涵盖领域 软件工程是把系统的.有序的.可

数据结构 第一章学习小结

数据结构   第一章学习小结 1.数据结构第1章的心得体会: 这周学习了数据结构的绪论及第一章.初步了解了数据结构与算法的相关概念,一开始看书看视频时觉得还挺抽象的,不能够完全理解.但是反复多看了几遍之后,结合例题,自己去操作去跑代码,慢慢觉得容易理解接受起来了.由于现在以网课形式进行教学,老师上课的同时基本还是靠自己去理解学习.当然老师也发挥很大的作用,比如让我们更深入的了解递归的空间复杂度为什么与问题规模有关,又怎样去找到该函数的临界值等等.既锻炼了我们深入思考的能力,也让我们更加清楚了解不

数据结构第一章学习小结

第一章学习了一些基本概念以及它们之间的联系,对数据结构这门课程有了初步的了解.刚开始看书的时候,有很多地方不是很明白,对一些名词的解释也不懂,后来结合视频讲解才比较透彻.一开始不清楚ADT的作用,直到自己去写了一遍才有体会.当自己不懂或者不会的时候,一定要自己上手去写去打代码,才能明白困扰自己的那个点在哪里,通过查资料.看视频等等方式解决这个问题.数据结构和算法是相辅相成的,理解透彻基本的概念,才能为之后的学习铺路.这学期要肯花功夫,本来基础就不是很好,更应该笨鸟先飞.对概念的理解不透彻,或言之

编译原理第一章学习(习题解答)

编译原理 第一章 引论 1.1 练习 1.编译器和解释器之间的区别是什么? 首先,编译器是一个软件系统或者说是一个程序,解释器是语言处理器.其次,编译器是把程序翻译成能被计算机执行的形式并报告翻译过程中发现的源程序的错误,解释器是直接利用用户提供的输入执行源程序中指定的操作. 2.编译器相对于解释器的优点是什么?解释器相对于编译器的优点是什么? 在把用户输入映射成为输出的过程中,由一个编译器产生的机器语言目标程序通常比一个解释器快很多.然而,解释器的错误诊断效果比编译器更好,因为它是逐句翻译源程