• 实验5


    实验5,我来了,冲鸭!

    1.

    源码如下:

    进行编译:

    用反汇编指令查看返回之前的地址;

    查看data段中的数据正是我们之前在段中定义数据,小端法排放;

    ss

    即程序返回前,cs=076c,ss=076b,ds=076a;

    可以看出:若程序加载后,code段的段地址为X的话,那data段的段地址就为:X-2;stack段的为:X-1;

    2.

    源代码如下:

    同样的操作:

    查看data中的数据:

     即data段中的数据是0123h,0456h;

    cs=076c,ss=076b,ds=076a;

    若code段的短地址为X,data段的段地址为X-2,,stack段的段地址为X-1;

    如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为

    (N/16+1)*16   (若N不为16倍数时)

      16N(若N为16倍数时)

    3.

    源代码如下:

    相同的操作:

    即data段中的数据为0123h,0456h;

    cs=076a,ss=076e,ds=076d;

    若code的段地址为X,data段的段地址为X+3,stack段的段地址为:X+4;

    4.将end start中的start去掉后,都可以执行的吧,我3个程序都删了试了,都和之前没什么差别,因为

    也就code segment段中有代码吧,其他除了这个就没其他的代码段了,没有影响。

    5.

    6.

    emmmm。。

  • 相关阅读:
    Classification and Representation(分类与表示)
    静态链表
    拓扑序列
    二分图问题
    大数据概述
    QT出现应用程序无法正常启动0xc000007b的错误
    简易有穷自动机实验
    一个简易的C语言文法
    词法分析器实验报告
    浅谈词法分析器
  • 原文地址:https://www.cnblogs.com/guapihenhaoc/p/10023164.html
Copyright © 2020-2023  润新知