zoukankan      html  css  js  c++  java
  • 第六章 包含多个段的程序

    一、在代码段中使用数据。

    dw,作用为定义字型数据。dw=define word。dw定义时数据之间以逗号分隔。

    eg:dw 0123h,0456h, 0789h

    ②程序6.1

    反汇编:

    g命令执行:

    执行出现错误。

    从0770:0010开始才是需要的机器码,数据被执行成了机器码。

    两个方法解决:

    法一:将IP值设为10h。

     

    方法二:用start标号标出执行的入口。

     

    二、在代码段中使用栈

    用dw开辟空间作为栈的存放空间

    引入dw的另一个使用方法:

    dw 0,0,0,0,0,0,0,0 =dw 16 dup(0)

    实例见实验五

    三、将数据、代码、栈放入不同的段中

    ① 使用伪指令segment和ends定义逻辑段后,究竟是用作代码段、数据段还是栈,由程序员指定。

    ② 使用assume仅仅表示将某个逻辑段和某个段寄存器关联起来;真正当作特定的段使用,需要在代码段中设置相应的段寄存器值,如ds, ss。

    段名代表的是段地址,是常数。不能使用mov直接送入段寄存器。

  • 相关阅读:
    正则表达式
    request库解析
    urllib库解析
    爬虫入门基本原理
    图的遍历dfs和bfs
    KMP算法
    Linux操作系统实验-线程同步
    Leetcode 183场周赛
    并查集--Disjoint Set
    C#杂乱知识汇总
  • 原文地址:https://www.cnblogs.com/Yangruzhang/p/10005447.html
Copyright © 2011-2022 走看看