zoukankan      html  css  js  c++  java
  • 20171108课后习题

    20171108课后习题

    1 完成家庭作业4.47,4.48,4.49

    2 相应代码反汇编成X86-64汇编

    3 把上述X86-64汇编翻译成Y86汇编,并给出相应机器码

    4.47

    取指阶段 icode:ifun<--M1[PC] = D:0

       valP <= PC + 1  ;下一条指令地址
    

    译码阶段 valB <= R[%ebp] ;得到ebp的值,这个值就是新的栈指针esp的值

    执行阶段 valE <= valB + 4 ;栈指针的值+4

    访存阶段 valM <= M4[valB] ;读ebp中的值

    写回阶段 R[%esp] <= valE ;把更新后的指针赋值给esp

          R[%ebp] <= valM   ;弹出的ebp的值
    

    4.48

    取指阶段 icode:ifun = M1[PC] = C:0

        rA:rB <= M1[PC+1]   ;取出操作数指示符
    
           valC <= M4[PC+2]   ;取出一个四字节常数字,即想要加进去的那个常数
           valP <= PC + 6   ;下一条指令地址
    

    译码阶段 valB <= R[rB] ;读入想要存到的那个寄存器

    执行阶段 valE <= valB + valC ;得到目的寄存器中的值和常数值的和
    SetCC

    访存阶段

    写回阶段 R[rB] <= valE ;把结果写回到目的寄存器中。

  • 相关阅读:
    poj 3243 Clever Y(BabyStep GiantStep)
    poj 2417 Discrete Logging
    poj 3481 Double Queue
    hdu 4046 Panda
    hdu 2896 病毒侵袭
    poj 1442 Black Box
    hdu 2815 Mod Tree
    hdu 3065 病毒侵袭持续中
    hdu 1576 A/B
    所有控件
  • 原文地址:https://www.cnblogs.com/fixedl/p/7823447.html
Copyright © 2011-2022 走看看