博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汇编总结一
阅读量:5280 次
发布时间:2019-06-14

本文共 1553 字,大约阅读时间需要 5 分钟。

一、计算机编程语言的演进

1.机器语言

(1) 是机器指令的集合。机器指令是0和1构成的二进制信息。

(2) 直接面向机器,与机器的硬件操作一一对应。计算机可以直接识别、执行,使用机器语言可以充分发挥计算机的硬件功能。
(3) 缺点: 依赖机器硬件,机器指令很难记忆,直接使用机器语言编制程序极易出错,并且难以调试。

2.汇编语言

(1) 汇编语言的主体是汇编指令。

(2) 汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令的助记符,便于人类记忆和使用。
(3) 不同的CPU有不同的汇编指令。

 

3.高级语言

用途:

(1) 有助于从软件角度理解计算机的工作原理
(2) 汇编语言具有能够直接有效控制硬件的能力,能够编写出运行速度快、代码量小的高效程序,在许多场合具有不可替代的作用,例如操作系统的核心程序段、实时控制系统的软件、智能仪器仪表的控制程序、频繁调用的子程序或动态链接库、加密解密软件、分析和防治计算机病毒等。

介绍

(1) 面向程序设计人员,接近于自然语言,易学易记,便于阅读和掌握,使用方便,通用性强,不依赖具体计算机。

(2) 高级语言对计算机操作步骤进行描述有一整套标记符号、表达格式、结构及其使用的语法规则。

 

二、汇编语言源程序的组成  

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

(2) 伪指令 (由编译器识别,无对应的机器码)
(3) 其它符号 (由编译器识别,无对应的机器码)

三.计算机硬件系统的基本结构

1.相关基础知识

寄存器

CPU内部用于存储数据的器件。

一个CPU中有多个寄存器。

存储器、存储单元

存储器以字节为单位被划分为若干个存储单元。

每个存储单元从0开始顺序编号。

指令和数据

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

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

2.CPU对存储器的读&写

四、内存地址空间

1.内存地址空间的概念

设一个CPU的地址总线宽度为n,那么可以寻址2n个内存单元,这2n个可寻到的内存单元就构成这个CPU的内存地址空间。

内存地址空间,也称寻址空间。

与CPU地址总线的宽度直接相关。表示CPU所能寻找到的最大地址空间范围。

 2.基础知识: 主板、接口卡

主板

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

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

接口卡

计算机系统中,所有可以用程序控制其工作的设备,必须受到CPU的控制。

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

3.各类存储器芯片

4.进一步讨论:内存地址空间

各类存储器芯片的小结

① 这些存储器芯片在物理上是各自独立的器件。

② 但这些存储器芯片具备如下共同点:
a) 都与CPU总线相连。
b) CPU对其读或写时都通过控制线发出内存读写命令。

内存地址空间

① CPU在操控这些独立的物理存储器时,把它们统一当作一个逻辑存储器看待。这个逻辑存储器即内存地址空间。

② 每个物理存储器在这个逻辑存储器中占有一段地址空间;CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
③ 不同的计算机系统的内存地址空间分配情况是不同的。

相关说明

① 内存地址空间是逻辑上的概念;

② 内存地址空间,即CPU寻址空间,与CPU地址总线宽度直接相关;
③ 内存地址空间的容量与平时所讲的内存条的容量不是一回事;
④ 不同的计算机系统内存地址空间如何使用有不同的分配方案。

 

转载于:https://www.cnblogs.com/jinevol/p/9966292.html

你可能感兴趣的文章
AngularJS Select(选择框)
查看>>
【java】JDK、JRE、JVM的关系
查看>>
Oracle集群(RAC)时间同步(ntp和CTSS)
查看>>
实时读取进度条当前进度
查看>>
洛谷P1219八皇后(正向暴力递归dfs+回溯更新,全排列类型题)
查看>>
IIS常见500错误解决方案
查看>>
SQLAlchemy
查看>>
得到python某个模块的路径
查看>>
rest-framework之权限组件
查看>>
19.unicode在python中的运用
查看>>
总结移动端页面开发时需要注意的一些问题
查看>>
servlet中 getRealPath deprecated(被废弃)
查看>>
招聘,项目管理相关
查看>>
UIScreen的scale属性
查看>>
Oracle Scheduler - Postponed job
查看>>
Arduino编程器 USBasp USBtinyISP FT232-ISP 对比 区别
查看>>
高频焊台源码,改进版V2
查看>>
宝塔面板安装的mysql5.5用命令行kill -9后启动不了
查看>>
Android(java)学习笔记118:BroadcastReceiver之 外拨电话的广播接收者
查看>>
Android(java)学习笔记165:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例的优化:请求码和结果码)...
查看>>