title: 汇编笔记_第一章
date: 2018-12-25 12:49:17
tags:
- 笔记
categories: 汇编语言
概述
马上要期末了,,,浪了一学期,,现在开始复(yu)习(xi)了,,,QAQ
汇编其实不难,,把概念记住基本就没问题了,,
所以,写这几篇博客的目的就是做个复习的笔记,,把我认为(或者说对于我来说)重要的东西记录以下,,如果有什么错误的地方也希望能指出来,,
主要内容都是 王爽《汇编语言》 这本书和老师的ppt上的摘抄,理解
基础知识
汇编语言定义
汇编语言是一种 符号化的机器语言 ,即用 指令助记符 、 符号地址 、 标号 等符号书写程序的语言。
用汇编语言编写程序的工作过程
汇编器(assembler): 一种工具程序,将 汇编程序 转化为 机器语言;
链接器(linker): 把 汇编生成的单个文件 组合成一个 可执行文件;
调试器(debugger): 在程序运行时,跟踪 程序执行过程 和 各器件状态;
汇编语言的组成
汇编语言有3类指令组成:
- 汇编指令: 机器码的助记符,有对应的机器码;
- 伪指令: 由编译器执行,没有对应的机器码,计算机不执行;
- 其他符号: 由编译器识别,没有对应的机器码,如+、-、*、/等
指令系统的的分类:
- 算逻运算类
- 数据传送类
- 指令控制类
- I/O类
- 其他
I/O子系统
I/O软件被组织成从高到低的四个层次:
- 用户层I/O软件(I/O函数调用系统调用)
- 与设备无关的操作系统I/O软件
- 设备驱动程序
- I/O中断处理程序
储存器
- 储存器被划分为若干个 储存单元,每个单元从0开始顺序编号;
- 储存的信息: 指令 和 数据 , 在内存或磁盘上二者没有区别都是二进制信息;
内存读写
CPU要进行数据的读写,必须和外部器件进行3类信息的交互:
- 地址信息:储存单元的地址
- 控制信息:器件的选择,读或写的命令
- 数据信息:读或写的数据
计算机中专门由 连接CPU 和 其他芯片 的 导线,通常为 总线;
物理上:一根根导线的集合;
逻辑上划分为: 地址总线 、 数据总线 、 控制总线;
总线
地址总线
CPU是通过地址总线来制定存储的单元的;
总线的宽度决定了 物理寻址的范围;
一个CPU有 \(N\) 根地址总线,CPU最多可以寻找 \(2^N\)个内存单元;
数据总线
数据总线的宽度决定了 CPU和外界进行一次数据传送 的 位数;
例如,8根数据总线一次可以传送一个8为二进制数据(即一个字节),16的就是两个字节;
控制总线
不同的控制线的集合,控制总线的宽度决定了 CPU对外部器件的控制能力;
例题
- 一个CPU的寻址能力为8KB,那么它的地址总线的宽度为13;1kB = 1024B,8kB = \(2^{13}\) B
- 1KB的存储器可以存储 \(2^{13}\) 个bit,1024个Byte;1Byte = 8bit,1KB = $2^{10} Byte = \(8 * 2^{10}\) bit = \(2^{13}\) bit