《计算机是怎样跑起来的》 || 第三章 • 体验一次手工汇编(上)
作者:矢泽久雄
——————————————————————————————————————
第三章 • 体验一次手工汇编(上)
——————————————————————————————————————
【00】基础知识
- 机器语言:由二进制数字构成的程序,CPU可以直接对其解释、执行,机器语言也叫“原生代码”
- 地址:标识内存或I/O中存储单元的数字叫做地址,计算机从0开始编号标识每个存储单元
- 标志寄存器:CPU中的一个寄存器,用于在运算指令执行后,存储运算结构的某些状态,例如运算结果是否为0、是否产生了负数、是否溢出等
【01】了解硬件信息
1、CPU信息
- CPU种类:决定了使用哪种机器语言,即使相同的机器语言由于CPU种类不同,对其解释也不同
- 时钟信号的频率:时钟发生器发送给CPU的电信号频率单位是MHz(兆赫兹=100万回/秒)通常把发出一次滴答的时间成为一个时钟周期执行指令所需要的时钟周期数取决于指令的类型
2、内存信息
- 地址空间:每个地址都标示着一个内存中的数据存储单元,这些地址所构成的范围就是内存的地址空间每个地址既可以存储指令又可以存储数据
- 每个地址中可以存储多少bit的信息
3、I/O信息
- I/O种类:连接计算机和周边设备的I/O的种类
- 地址空间:指定I/O寄存器的地址范围地址编号不同(寄存器类型不同)功能也不同
- 连接何种周边设备
图示
【02】机器语言和汇编语言
1、机器语言完全由0和1组成
2、汇编语言简介
- 使用“助记符”编程的语言
- 所谓的“助记符”就是给具有特定功能的01组合代码赋予相似的昵称
3、汇编语言语法
- 标签、操作码(指令)、操作数(指令的对象)并排写在一行
- 标签:为该行代码对应的内存地址起一个名字
- 操作码:告诉计算机做什么
都是一些英语单词缩写;有多少种助记符,CPU就有多少种功能通常是三类:运算、内存输入输出、I/O输入输出
- 操作数:指令执行的对象
CPU寄存器、内存地址、I/O地址以及直接给出的数字都可以作为操作数他们之间用逗号分割操作数的个数取决于指令的种类
- 数据类型:十进制、十六进制
124H,末尾加个H,表示十六进制
4、Z80 CPU中的主要指令
- num表示一个数值,(num)表示值为num的地址
- reg,reg1,reg2:名为reg,reg1,reg2的寄存器;(reg):存储在名为reg的寄存器的地址上
————