汇编程序设计:01基础知识
程序员文章站
2024-02-01 18:31:16
...
文章目录
1. 汇编语言是各种CPU提供的机器指令的助记符的集合
2. 可以使用汇编语言直接控制硬件系统进行工作:汇编语言是直接在硬件之上工作的编程语言
3. 汇编语言是数据结构、操作系统、微机原理等等的重要基础
4. 汇编语言是人和计算机沟通的最直接的方式:汇编语言描述了机器最终要执行的指令序列
5. 汇编语言和具体的微处理器(CPU)相联系,每一种微处理器的汇编语言都不一样
6. 掌握汇编语言的2个根本目的:
[1] 充分获得底层编程的体验
[2] 深刻理解机器运行程序的机理
7. 计算机:可以执行机器指令并进行运算的机器!计算机是由CPU以及受CPU直接或间接控制的其他芯片、器件、设备组成的计算机系统
机器语言
- 机制语言就是机器指令的集合!机器指令是一列二进制数字!
- 每一种微处理器(CPU)都有自己的机器指令集(机器语言):因为每一种微处理器由于硬件设计和内部结构不同,就需要不同的电平脉冲来控制它使其工作
汇编语言
- 为什么会产生汇编语言?早期的程序员们发现机器语言晦涩难懂,难以辨别和记忆 — 产生了汇编语言
-
汇编语言编写的程序如何能被计算机执行?需要一个翻译程序(
汇编器
)将汇编语言编写的代码转换为机器指令 -
汇编语言的组成:3类指令
(1)汇编指令:机器指令的助记符,与机器指令一一对应
(2)伪指令:没有对应的机器码,由编译器识别并执行
(3)其他符号:没有对应的机器码,由编译器识别并执行:+、-、* 等符号
指令与数据
- 指令与数据是应用上的概念!在内存或磁盘上,指令和数据没有任何区别:都是二进制的数字
- 内存中的二进制数字:1000100111011000
(1)如果CPU将其当做数据对待,那这个二进制数字就是数据 0x89D8
(2)如果CPU将其当做指令对待,那这个二进制数字就是指令 mov ax, bx - CPU工作时需要的指令与数据都是来自于内存,内存并知道谁是指令,谁是数据,那么
CPU是怎么区分内存中的二进制数字是指令还是数据呢?
—定位识别
:CPU拿着不同的寄存器去看着内存的不同区域:例如寄存器IP看着的内存区域存放的是指令;寄存器DS看着的内存区域存放的是数据
存储器
- 存储单元:存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号
-
存储器与CPU的关系:存储器是存储指令与数据的仓库;CPU是执行指令(取指、译码、执行)并运算数据的大脑
(1)CPU是计算机的核心部件,控制计算机的运行并进行数据运算
(2) 要想一个CPU工作就必须向它提供指令
与数据
!指令与数据是存储在存储器中的!CPU在获取指令或数据之前必须先得到存储指令或数据的存储单元的地址
CPU对存储器的读写
-
CPU获取指令
(1)CPU首先得知道存储指令的存储单元的地址
(2)CPU根据指令所在的存储单元的地址找到存储单元并取出指令 -
CPU获取或更新数据
(1)CPU首先得知道存储数据的存储单元的地址
(2)CPU根据数据所在的存储单元的地址找到存储单元并取出数据或更新数据
上一篇: 8086/8088寻址方式
推荐阅读
-
汇编程序设计:01基础知识
-
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)_基础知识
-
JavaScript高级程序设计(第3版)学习笔记10 再访js对象_基础知识
-
Python程序设计(二 基础知识)——下标和切片
-
JavaScript高级程序设计(第3版)学习笔记11 内建js对象_基础知识
-
JavaScript高级程序设计(第3版)学习笔记 概述_基础知识
-
JavaScript高级程序设计_基础知识
-
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式_基础知识
-
Python3程序设计指南:01 过程型程序设计快速入门
-
.NET基础知识(01)-值类型与引用类型