zoukankan      html  css  js  c++  java
  • 汇编语言之第六章包含多个段的程序

    一:dw=define word 即使用dw定义字型数据(数据之间以逗号分隔)dw 既可定义数据,也可以说用它开辟内存空间

    db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1
    
    dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2
    dd定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4

    二:程序取得所需空间的方法有两种,1是在加载程序的时候为程序分配,2是程序在执行的过程中向系统申请。

    三:数据和指令在本质上无区别,为了让程序的入口处是我们所希望执行的指令。我们可以加标号。在程序入口前加标号,在程序结束后加上相同的标号。

      标号 start 与 end start——end 除了通知编译器程序结束外,还可以通知编译器程序的入口在什么地方,

      此处用 end 指令表明了程序的入口在标号 start 处,被转化为一个入口地址

    四:将数据、代码、栈放在不同的段中,可以使程序结构清晰易懂,对于8086而言,可以使用多个栈,解决长度超64kb的限制问题

      访问段中的数据,通过地址(段地址和偏移地址),段名即代表一个标号,代表段地址。

      用伪指令 assume 将 cs、ds、ss 分别和 code、data、stack 段相连之后,CPU 也没并没有将对应的段和段寄存器相连接,因为 assume 只是伪指令

  • 相关阅读:
    如何设计一个百万级用户的抽奖系统?
    服务注册发现
    消息列队7
    消息列队6
    bzoj 4771: 七彩树
    [SDOI2013]刺客信条
    bzoj 5291: [Bjoi2018]链上二次求和
    51nod 1245 Binomial Coefficients Revenge
    bzoj 5308: [Zjoi2018]胖
    bzoj 5294: [Bjoi2018]二进制
  • 原文地址:https://www.cnblogs.com/bowentianxia/p/10016069.html
Copyright © 2011-2022 走看看