段寄存器

段寄存器

  • 8086在访问内存时要由相关部件提供内存单元的段地址和偏移地址,送入地址加法器合成物理地址

  • 段地址在8086的段寄存器中存放

  • 8086有4个段寄存器:CS、DS、SS、ES、当CPU需要访问内存时由4个段寄存器提供内存单元的段地址

    • CS (Code Segment): 代码段寄存器
    • DS (Data Segment ): 数据段寄存器
    • SS (Stack Segment): 堆栈段寄存器
    • ES (Extra Segment ): 附加段寄存器

CS和IP

  • CS为代码段寄存器,IP为指令指针寄存器,它们指示了CPU当前要读取指令的地址
  • 任意时刻,8086CPU都会将CS:IP指向的指令作为下一条需要取出执行的指令

CPU通用寄存器

  • 有8个寄存器,可以分为2组,一组是数据寄存器(4个)另一组是指针寄存器及变址寄存器

  • 数据寄存器分为:

    • 他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。
    • AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据。
    • BH&BL=BX(base):基址寄存器,常用于地址索引
    • CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.
    • DH&DL=DX(data):数据寄存器,常用于数据传递。
  • 另一组是指针寄存器和变址寄存器,包括:

    • 这4个16位寄存器只能按16位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。
    • SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置
    • BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置
    • SI(Source Index):源变址寄存器,可用来存放相对于DS段之源变址指针
    • DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。
  • AX;BX;CX;DX

    • AX称为累加器(Accumulator),是CPU中使用最多,功能最强,执行效率的寄存器.
    • BX称为基地址寄存器(Base Register).
    • CX称为计数寄存器(Count Register).
    • DX称为数据寄存器(Data Register).
   没有本质上的区别,都是通用16位寄存器.
   相应的通用32位寄存器是EAX,EBX,ECX,EDX.
  • 8086伪指令
  • db(define byte)自定义字节
  • dw(define word)自定义字
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,592评论 8 114
  • 转载自:http://blog.csdn.net/michael2012zhao/article/details/...
    黑色小核阅读 4,647评论 0 50
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 7,067评论 0 1
  • 汇编总结 汇编的发展史 机械语言 由0和1组成的机器指令(如:0101 0001 1101 0110) 汇编语言(...
    iChuck阅读 5,099评论 1 8
  • 青丝过三缕 故人期我年年复 当归不归 花色空结 庭廊有足痕 流水怜我日消瘦 相思不褪 当归何归 红尘惹前非 今世莫...
    山屈生阅读 1,807评论 0 0