image.png
    1、处理的的数据在什么地方?
    2、要处理的数据有多长?
    一、bx,si,di,bp:
    1、reg:寄存器
    sreg:段寄存器
    reg包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、si、di
    sreg包括:ds、ss、cs、es
    2、在8086CPU中,只有bx、bp、di、si这四个寄存器可以在”[…]”中来进行内存单元的寻址,如:
    image.pngimage.png
    3、在[…]中使用bp寄存器,而指令中没有显性的给出段地址,段地址就是默认在ss中,如:
    image.png
    4、指令在执行前,所要处理的数据可以在CPU内部、内存、端口这三个地方
    5、在汇编语言中以下概念来表达数据的位置:
    ①、立即数(idata)
    ②、寄存器
    ③、段地址(SA)和偏移地址(EA)
    6、立即数:对于直接包含在机器指令中的数据(执行前在CPU的指令缓冲器中),在汇编语言中称为立即数:如:mov ax,1 中,1是立即数

    二、指令处理的数据的长度:
    1、8086CPU的指令,可以处理两种尺寸的数据:byte、word。在机器指令中,要指明指令进行的是字操作还是字节操作
    2、确定要指令处理的数据的长度的方法:
    ①、通过寄存器名指明要处理的数据的尺寸
    image.pngimage.png
    ②、在没有寄存器名的情况下,用操作符X ptr指明内存单元的长度,X在汇编指令中可以为word或byte
    image.pngimage.png
    3、默认访问的是字单元或字节单元的指令:
    ①、push [1000H]不用指明访问的是字单元还是字节单元

    三、div指令:
    1、div是除法指令(didvision),使用的注意点:
    ①、除数:8位或16位,在寄存器或内存单元中
    ②、默认放在AX或DX和AX中
    2、

    除数 被除数
    8位 16位(ax)
    16位 32位(dx+ax)

    ①、结果的存放:

    结果: 运算 8位(除数) 16位(除数)
    商: al ax
    余数: ah dx

    ③、div指令格式:
    div reg
    div 内存单元
    3、例如:
    ①、div byte ptr ds:[0]
    含义:(al) = (ax) / ((ds)16 + 0) 的商
    (ah) = (ax) / ((ds)
    16 + 0) 的余数
    ②、div word ptr es:[0]
    含义:(ax) = [(dx)10000H + (ax)] / ((ds)16 + 0) 的商
    (dx) = [(dx)10000H + (ax)] / ((ds)16 + 0) 的余数
    ③、dis byte ptr [bx+si+8]
    含义:(al) = (ax) / ((ds)16 + (bx) + (si) + 8) 的商
    (ah) = (ax) / ((ds)
    16 + (bx) + (si) + 8) 的余数
    ④、div word ptr [bx+si+8]
    含义:(ax) = [(dx)10000H + (ax)] / ((ds)16 + (bx) + (si) + 8) 的商
    (dx) = [(dx)10000H + (ax)] / ((ds)16 + (bx) + (si) + 8) 的余数