汇编语言基础

PC 硬件的基本特征

1. 1、计算机存储单位

  1. 位 bit(Binary digit)) > 一个位表示 0 或 1
  2. 字节 > 一组 9 个相关的位称为字节,它代表内存储器和外部设备的一个存储单元
    • 每个字节由 8 个数据位和 1 个奇偶位组成(奇偶校验
    • 一个字节中的各位从右到左是按 0 到 7 编号的
    • 在存储器中的每个字节都有一个唯一的地址。第一个字节在最低的存储器单元中,编号为 0 , 第二个字节编号为 1
  3. 字 > 2 字节(16位)数据项
  4. 双字 > 4 字节(32位)数据项
  5. 匹字 > 8 字节(64位)数据项
  6. 小段 > 16字节(128位)区
  7. 千字节(KB) > 2^10等于1024字节
  8. 兆字节(MB) > 2^20等于1048576字节

2. 2、二进制数系统

位的集合可以表示任何数字的值。 - 二进制数的值是由为 1 的位及其相关的位置所决定的。

位编号 11 10 9 8 7 6 5 4 3 2 1 0
位的值 1 1 1 1 1 1 1 1 1 1 1 1
位置的值 2048 1024 512 256 128 64 32 16 8 4 2 1

3. 3、十六进制表示

十进制 二进制 十六进制 峘进制 huán
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C suì
13 1101 D
14 1110 E yuè
15 1111 F
n+1位定点数表示 \(D \geq 2^n\) \(D<2^n\) \(D \geq 0\) \(D \leq 0\) \(\times 2,D<0\) \(\div 2,D<0\) \(\times 2,D>0\) \(\div 2,D>0\)
无符号数 \(D\) \(D\) \(D\) 不存在 不存在 不存在 低位补0 高位补0
原码 \(2^n-D\) \(D\) \(D\) \(2^n-D\) 低位补0 符号位后补0 低位补0 高位补0
反码 \(D-(2^{n+1}-1)\) \(D\) \(D\) \(D+(2^{n+1}-1)\) 低位补1 符号位后补1 高位补0 低位补0
补码 \(D-2^{n+1}\) \(D\) \(D\) \(D+2^{n+1}\) 低位补0 符号位后补1 低位补0 高位补0
移码 \(D-2^n\) \(D-2^n\) \(D+2^n\) \(D+2^n\)

\([A+B]_补=[A]_补+[B]_补\) \([A-B]_补=[A]_补+[-B]_补\)

4. 逻辑门运算

A NOT
A \(\overline{A}\)
0 1
1 0
符号特征 三角形小圆圈
A B AND OR NAND NOR XOR XNOR
A B 与非 或非 异或 同或
A B \(A \cdot B\) \(A + B\) \(\overline{A \cdot B}\) \(\overline{A + B}\) \(A \oplus B\) \(A \odot B\)
0 0 0 0 1 1 0 1
0 1 0 1 1 0 1 0
1 0 0 1 1 0 1 0
1 1 1 1 0 0 0 1
输入端是直线 输入端是曲线 与门小圆圈 或门小圆圈 或门输入端多条曲线 异或门小圆圈

\(\overline{ A + B }=\overline{A} \cdot \overline{B}\) \(\overline{A \cdot B} = \overline{A} +\overline{B}\) ## 5. 带标志加法器

向高位的进位 \(C_i=A_i \cdot B_i+(A_i \oplus B_i) \cdot C_{i-1}\) 本位和 \(S_i=A_i \oplus B_i \oplus C_{i-1}\) 有符号数溢出 \(OF=C_n \oplus C_{n-1}\) 有符号数为负 \(SF=S_n\) 零标志 \(ZF=\sum S\) 无符号数溢出 \(CF=C_n \oplus C_0\)

6. 4、PC 的组成

PC 的主要组成部分是它的主板。它包括处理器协处理器主存储器接插件以及为可选电路卡用的扩展槽。这些槽和接插件为下面部件提供了出入口,比如只读存储器 ROM、随机存取存储器 RAM、硬盘、CD-ROM 设备、附加的主存储器、显示设备、键盘、鼠标、并行与串行设备、声音合成器以及高速缓冲存储器等。处理器利用高速缓冲存储器,减少对较低速主存储器的访问。

  1. 处理器

    处理器,也称中央处理器或 CPU ,用来完成所有的指令执行与数据处理。

    • 8088

6.1. 段寄存器

标志 名称
CS 代码段(Code Segment)
DS 数据段(Data Segment)
SS 堆栈段(Stack Segment)
ES 附加段指针(Extra Segment)
FS 附加段指针
GS 附加段指针

6.2. 通用寄存器

寄存器 名称 说明
EAX 主累加器(accumulator)寄存器
EBX 基址(base)寄存器
ECX 计数(count)寄存器
EDX 数据(data)寄存器
EDI 目的变址(Destination Index)寄存器
ESI 源变址(Source Index)寄存器
ESP 堆栈指针(Stack Pointer)寄存器
EBP 基址指针(Base Pointer)寄存器
EIP 指令指针(Instruction Pointer)寄存器 下一条指令的偏移地址

6.3. 标志寄存器

位编号 符号 标志(Flag) 置位符号 1 复位符号 0
0 CF 进位(carry)标志 CY(carry) NY(no carry)
1 1
2 PF 奇偶校验(parity)标志 PE(parity even) PO(parity odd)
3 0
4 AF 辅助进位(auxiliary carry)标志 AC(auxiliary carry) NA(no auxiliary)
5 0
6 ZF 零(zero)标志 ZR(zero) NZ(no zero)
7 SF 符号(sign)标志 NG(negative) PL(plus)
8 TF 陷阱(trap)标志
9 IF 中断允许(interrupt)标志 EI(enable interrupt) DI(disable interrupt)
A DF 方向(direction)标志 DN(down) UP(up)
B OF 溢出(overflow)标志 OV(overflow) NV(no overflow)
C IOPL I/O 特权级(I/O Privilege Level)
D IOPL I/O 特权级(I/O Privilege Level)
E NT 嵌套任务(Nested Task)标志
F 0
10 RF 恢复(Resume)标志
11 VM 虚拟8086模式(Virtual 8086 Mode)
12 AC 对齐检查(Alignment Check)
13 VIF 虚拟中断(Virtual Interrupt)标志
14 VIP 虚拟中断挂起(Virtual Interrupt Pending)
15 ID 标志(Identification)标识