这篇文章是对8086汇编的总结,不适合汇编初学者。还有就是总结的不全,作者觉得易忘的把它记下来。
寄存器:
8086CPU有14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW。其中通用寄存器有(8个):
· AX 累加寄存器 accumulator register(分为 AH / AL).
· BX 基址寄存器 base address register (分为 BH / BL).
· CX 计数寄存器 count register(分为 CH / CL ).
· DX 数据寄存器 data register (分为 DH / DL).
· SI 源变址寄存器 source index register.
· DI 目的变址寄存器 destination index register.
· BP 基址指针寄存器 base pointer.
· SP 堆栈寄存器 stack pointer.
段寄存器:
· CS 代码段寄存器(Code Segment),用来存放当前正在运行的指令
· DS 数据段寄存器(Data Segment),用来存放当前运行程序所用的数据
· ES 附加段寄存器(Extra Segment),由程序员决定用途
· SS 堆栈段寄存器(Stack Segment),指出堆栈所在区域
控制寄存器:
· IP 指令指针寄存器 instruction pointer
· Flags Register 状态标志寄存器
栈:
8086CPU的入栈和出栈都是以字为单位进行的
任意时刻,SS:SP指向栈顶元素(SS为段寄存器)
Note:8086CUP不支持直接把数据送入段寄存器,所以如:mov ds,1000H上非法的