2014年10月28日 星期二

qemu 設計原理

http://sp1.wikidot.com/qemu

原來是這樣啊

假如我們用 CPU0 的指令為例,如果有一個 CPU0 組合語言如下所示。
    LD    R1, [300]
    LDI    R2, 100
    CMP    R1, 0
    JEQ    END
    ADD    R3, R1, R2
    ST    R3, [200]
END :     RET
那麼,我們可以將其反向轉譯為如下的 C 語言程式。
    R1 = K300;
    R2 = 100;
    if (R1 == 0)
      goto END;
    R3 = R1 + R2;
    R3 = K200;
END :     return

R1:    RESW 1
R2:    RESW 1
K200:     RESW 1
K300:     RESW 1

沒有留言:

張貼留言