zoukankan      html  css  js  c++  java
  • 实验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。。

  • 相关阅读:
    os.fork()
    解决方案:WindowsError: [Error 2]
    Python遍历文件夹和读写文件的方法
    导航帖
    IDEA后缀补全及快捷键
    Codeforces-Round#614 Div2
    图论算法-欧拉回路 专题训练
    快速求出n!质因数的个数
    Codeforces-Round#589 Div2
    洛谷P3386二分图匹配
  • 原文地址:https://www.cnblogs.com/guapihenhaoc/p/10023164.html
Copyright © 2011-2022 走看看