zoukankan      html  css  js  c++  java
  • 家庭作业

    3.65我们可以从题目所给的汇编代码画出结构体变量的栈结构。

    我们从汇编代码中可以看到

    由变量t和u相差16个地址值可知,short s[B]存放在16个字节中,而一个short型变量在内存中占用2个字节,所以我们可以推断出,

    B取四的倍数的上整数 = 8。 
    8+4+ (B*2)取四的倍数的上整数 = 28。 所以B的可选值为8和7。 
    2*A*B取四的上整数为44,所以A*B的可选值为21和22。 所以 A=3, B=7。

     

    4.43

    没有正确执行pushl %esppushl %esp是将esp当前的内容入栈。 如果REGesp,那么代码是先减去了esp,然后将减了4以后的REG移入了esp

    修改:(我只能想到利用其它的寄存器)

    movl REG, %eax

     subl $4, %esp

     movl %eax, (%esp)

     

    4.44

    也没有正确执行popl %esp,因为popl %esp是将当前栈顶的值放入esp

    如果REGesp,那么最后得到esp是栈顶值减4之后的值。

    movl (%esp), %eax

    addl $4, %esp

    movl %eax, REG

     

  • 相关阅读:
    宝藏 题解
    Xorequ 题解
    2020.12.26 模拟赛 题解
    数据结构 100 题 1~10 线段树
    关于模拟退火
    诗意狗 题解
    Keyboading 思路
    体育成绩统计/ Score
    【(抄的)题解】P5686 [CSP-SJX2019]和积和
    【笔记】简单博弈
  • 原文地址:https://www.cnblogs.com/java-stx/p/4934715.html
Copyright © 2011-2022 走看看