zoukankan      html  css  js  c++  java
  • 汇编小记16/3/23

    最后一次更新:2016-03-23 19:51:12 


    寄存器(内存访问)

    字单元:字型数据在地址连续的两个内存单元中存储,比如2 3内存单元,2为该字型起始单元,则称该字单元为2地址地址单元


    用mov指令访问内存单元,可以在mov指令中只给出单元的偏移地址,此时段地址默认在DS寄存器中

    [address]表示偏移地址为address的内存单元

    内存和寄存器中传送字型数据是,高地址单元和高8位寄存器,低地址单元和低8为寄存器


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

    和mov不同的是,pop和push不需要给出内存的偏移地址,ss:sp就能确定当前栈顶

    cpu的栈机制:先改变sp后写内存的push指令,读内存后改变sp的pop指令

    cpu只知道当前执行的指令和当前的栈顶元素,没有overflow的机制

    需要自己判断栈有没有出界,需要自己管理栈空间的大小,比如我们人为设定10000H~1FFFFH为栈段

    pop和push只是指令,需要我们先定义SS,SP指向栈段(初始化栈顶)

    pop和push实质上是一种内存访问指令

    比如 1000H~1FFFFH这段空间设定为栈段,初始状态栈是空的,此时SS=1000H?(感觉是2000H),SP=0000H

    分析:栈为有唯一一个元素时,sp的内容是fffe,则这个元素出栈,sp=sp+2

    分析:ss当前栈段地址,是不会改变的,push、pop只改变sp,所以栈顶的变化范围是0~FFFFFH,从栈空的时候的sp=0,一直压栈,直到栈满是sp=0,如果再次压栈,栈顶将环绕,覆盖掉原来的内容,所以一个栈段的最大容量为64KB


     

    在一个谎言的国度,沉默就是英雄
  • 相关阅读:
    Java之JVM调优案例分析与实战(4)
    Qt浅谈之四十九俄罗斯方块(代码来自网络)
    自作聪明的开发
    Visual Studio 连接 SQL Server 的connectionStringz和
    删除反复行SQL举例
    一起学android之怎样设置TextView中不同字段的字体颜色(22)
    A008-drawable资源
    android 自己定义组件随着手指自己主动画圆
    一个简单的HTML5摇一摇实例
    关于事件的传递机制。
  • 原文地址:https://www.cnblogs.com/EdsonLin/p/5313175.html
Copyright © 2011-2022 走看看