美文网首页
六.DS寄存器

六.DS寄存器

作者: mkb2 | 来源:发表于2017-05-07 17:58 被阅读66次

    1字节 = 8位
    字形 = 2字节

    CPU要去度一个内存单元的时候,必须先给定这个内存单元的地址;
    在8086系统中,内存地址 = 段地址+偏移地址
    8086中有一个SD段地址,专门存储要访问数据的段地址

    DS表示的是Data Segement,意为:数据段寄存器
    CS表示的是Code Segement,意为:代码段寄存器

    在机器中的内存里,所有的"指令和数据"都是用'0,1'表示,CPU也不知道具体他们代表的是什么意思;
    如果我们打算告诉CPU这段数字是“指令”,让CS指向那段代码的段地址
    如果我们打算告诉CPU这段数字是"数据",让DS指向那段代码的段地址
    如果恰巧CS,DS都指向了同一个内存,那么他既可以做指令,也可以做数据


    设置数据段
    mov al,[0]
    

    只要看到了[0],就表示从某个内存单元格中获取数据;[]中的表示偏移地址,段地址看DS寄存器

    mov bx,1000H
    mov ds,bx
    mov al,[0]
    

    这段代表从内存中1000H0H(地址1000H:[0])取得数据,然后放到al寄存器中;

    mov al [address]表示将DS:address对应的内存中的数据放到al寄存器中

    小练习:将寄存器ah中的数据传入到20567H中

    mov bx.2050H
    mov ds.bx
    mov [67H].ah
    

    因为ah,al表示高位,和低位,都是一个字节,8086可以直接操作;但是ax,bx,cx,dx都是两个字节,如果取数据,要去两个字节,但是下边的内存,切记,每一个都是一位,所以要连续取出两个内存块;这样才能和ax,bx对应上
    8086系统中,遵循高高低低,表示高内存地址,表示高位;

    计算ax,bx,cx结果 结果分析

    小端模式大端模式

    大小端示意图 取出3字节数据 字形数据的传递 小练习

    相关文章

      网友评论

          本文标题:六.DS寄存器

          本文链接:https://www.haomeiwen.com/subject/bztptxtx.html