汇编基础
数据寄存器
每个为 16 位长,可分为两个 8 位长的单独操作。
| AX(AH AL) |
累加器,主要进行算术运算及 I/O 指令 |
| BX(BH BL) |
常用作基址寄存器 |
| CX(CH CL) |
在循环和串处理指令中常用作计数器 |
| DX(DH DL) |
常用于双字长运算时与 AX 联合,I/O
操作中设置端口地址 |
指针及变址寄存器
| SP |
堆栈指针,与 SS 联合 |
| BP |
基址指针 |
| SI |
源变址指针 |
| DI |
目的变址指针 |
段寄存器
| CS |
代码段 |
| DS |
数据段 |
| ES |
附加段 |
| SS |
堆栈段 |
控制寄存器 PSW
| 15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
| |
|
|
|
OF |
DF |
IF |
TF |
SF |
ZF |
|
AF |
|
PF |
|
CF |
| DEBUG 符号=1 |
OV |
DN |
EI |
|
NG |
ZR |
|
AC |
|
PE |
|
CY |
| DEBUG 符号=0 |
NV |
UP |
DI |
|
PL |
NZ |
|
NA |
|
PO |
|
NC |
| 标志 |
意义 |
| OF |
溢出标志 |
| SF |
符号标志 |
| ZF |
零标志 |
| CF |
进位标志 |
| AF |
辅助进位标志 |
| PF |
奇偶标志 |
| DF |
方向标志,0为正 |
| IF |
中断标志,允许中断 |
| TF |
陷井标志,用于单步操作 |
| |
|
设置 PSW 的指令
| STC |
CF = 1 |
| CMC |
CF 取反 |
| CLC |
CF = 0 |
| CLD |
DF = 0 |
| STD |
DF = 1 |
| CLI |
IF = 0 |
| STI |
IF = 1 |
特殊指令
| NOP |
无操作指令,用于占用空间,运行时更改为指令 |
| HLT |
暂停工作,等待外部中断到来,中断结束后继续 |
| WAIT |
使处理机空转 |
| ESC mem |
换码指令 |
| LOCK |
封锁指令,用来维持总线的锁存信号直到联合的指令执行完 |