本次学习记录参考书籍《汇编语言程序设计》
主编:雷金辉
副主编:李心一,杨志翔
配合学习8086的汇编原理特别推荐这一本书
佩服老一代学者清晰的逻辑和干练的语言组织
8086/8088内部有14个16位寄存器,可分为三类
通用寄存器8个
AX[AH,AL]累加器
BX[BH,BL]基址寄存器
CX[CH,CL]计数寄存器,在循环控制指令中会指定操作该寄存器
DX[DH,DL]数据寄存器
SP堆栈指针寄存器。在使用堆栈操作指令(push, pop)对堆栈操作的时候会自动地将sp内容进行加减操作
BP基址寄存器通常用来存放操作数在堆栈段内的偏移地址
SI源变址(偏移地址)寄存器
DI目的变址寄存器 这两个寄存器在串操作指令中用来进行字符操作
段寄存器4个
CS代码段寄存器,存放当前代码运行的段基址 与IP寄存器结合定位代码位置
DS数据段基址
SS堆栈段基址,配合SP对堆栈进行操作配合SI进行串的操作
ES附加段基址,配合DI进行串的操作
指令控制寄存器
IP存放下一条要读取的指令在代码段中的偏移地址
FLAGS 是一个16位的寄存器,但是只用了其中的9位,包括其中的6个状态寄存器和3个控制标志位
一个程序是由若干逻辑堆栈段,逻辑数据段,逻辑附加段,逻辑代码段构成,每种段可以有多个,但是一个程序的最少组成是一个代码段