机器语言
汇编语言(直接在硬件上工作——硬件系统结构):
1.机器语言
每一种微处理器硬件设计和内部结构不同(决定了电信号不同,进而需要不同的机器指令)
#早期通过纸带机/卡片机输入计算机,进行运算
2.汇编语言
(编译器)差别在指令的表示方式不同,便于阅读记忆和书写
#核心:汇编指令(有对应机器码,CPU执行)
#伪指令(无,编译器执行[计算机并不执行])
#其他符号(无,编译器识别)
存储器(指令和数据的存放)和存储单元
数据和指令本质都一串串二进制,应用赋予他们不同的意义
微型存储器有128个存储单元(1Byte字节)
cpu对存储器的读写
where 器件/存储单元地址,act,details
【和芯片的3类信息交互:地址信息、控制信系、数据信息(逻辑上就有3类总线)】
总线(数据传送)
CPU外部总线和内部总线
地址总线,根/宽(最多寻2^N个内存单元);
数据总线,宽度和根数(决定:速度、字节数);
控制总线,宽度和根数(决定:控制能力、多少种控制)。“X信号输出/... ...输入
内存地址空间(地址总线可寻到的内存单元)
主板,核心器件、主要器件、拓展插槽
接口卡(直接控制外部设备,CPU不能)
各类存储器芯片(读写属性分RAM,ROM)
RAM>ROM
RAM(主板、拓展插槽),接口卡需要大量处理时可装
ROM上可存储硬件的BIOS(对硬件设备可进行基本输入输出)
内存地址空间(也连、控)
栈
一种具有特殊访问方式的空间
CPU提供的栈机制
以字w为单位
#栈顶超界问题SS:SP,只知道当前要执行的指令在何处,而不知道要执行的有多少
注意安排栈的大小,防止入栈数据过多/栈空时继续出栈
offset伪指令,取得标号的偏移地址
jmp五条吉安转跳
段内短转移:short 标号[位移]
段间/远转移:far ptr 标号[指令(目的地址)]
reg[寄存器中的地址]
段内转移:word ptr 内存单元地址[内存中存放的w就是偏移地址]
特殊的标志寄存器(按位起作用vs整个寄存器一个含义)
7:符号标志符 6:ZF零标志符4:AF 2:奇偶标志符0:CF进位标志符(产生溢出)
CF用法,(adc、sbb带借位加、减法的设计思路)
(cmp设计思路:减法)
内中断:内部程序错误或软件指令
eg:1/0除零错误,访问未分配的内存地址触发段错误,
或使用 int 0x80 指令发起系统调用(Linux 传统方式),
外中断信息:外部硬件设备
用汇编讲中断,反而更简单!和你之前的理解可能不一样!来深入理解中断吧!_哔哩哔哩_bilibili