3 寄存器(内存访问)

  • 内存中字的存储

       

    内存单元是一个字节,一个字要用两个连续内存单元存放。

       

    字单元:存放一个字型数据(16位)的内存单元,两个地址连续的内存单元组成,高地址存放高位字节,低地址存放低位字节。

       

  • DS 和 [address]

       

    前面使用mov, 可以完成两种传送(1)数据直接送入寄存器(2)寄存器中的内容送入另一个寄存器

       

    从内存单元送到寄存器呢?

       

    mov 寄存器名 内存单元地址 [….]表示一个内存单元中的偏移地址

    DS是内存单元中的段地址

    先把1000H 放入DX, 再用mov ax [0] 完成传送

    8086不支持直接将数据送入DX,只能用一个寄存器来中转

    mov ds ,1000H 是非法的

     

    将AL 的数据送入 10000H

    mov [0] al

       

  • 字的传送

    8086是16位结构,有16根数据线,可以一次性传送16位数据。

       

       

       

       

  • mov、add、sub 指令

       

    mov 寄存器 段寄存器

    mov 内存单元 段寄存器

    mov 段寄存器 内存单元

       

       

  • 数据段

       

       

  •    

    任意时刻SS::SP指向栈顶元素

       

    push ax 分为两步

    (1)SP = SP - 2

    (2)将AX中的内容送入SS::SP指向的内存单元

       

       

    pop 指令相反

    (1)SS::SP指向的内存单元送入AX

    (2)SP = SP +2

       

  • 栈顶超界问题

       

    8086不保证 自己小心

       

  • push pop

       

       

       

posted @ 2018-10-23 21:36  苦瓜与我常在  阅读(180)  评论(0)    收藏  举报