PEP8的简单C ++代码

时间:2014-11-18 05:32:56

标签: c++ assembly stack

我正在尝试将这个简单的C ++程序翻译成PEP8,但由于一些奇怪的原因,我的代码似乎出现了故障。如果有人能指出我的错误,我真的很感激。

C++:

int func(int n)
{
    return n;
}


int main()
{
    cout << "Num: ";

    int num;

    cin >> num;

    cout << func(num) << endl;

    return 0;
}


PEP8:

         BR      main
retVal:  .EQUATE 2           ;returned value #2d
n:       .EQUATE 0           ;formal parameter #2d
func:    LDA     n,s
         STA     retVal,s
         RET0                ;pop retAddr

num:     .EQUATE 0           ;local variable #2d
main:    SUBSP   2,i         ;allocate #num
         STRO    msg,d       ;cout << "Num: "
         DECI    num,s       ;cin >> num
         LDA     num,s       ;push #num
         STA     -4,s
         SUBSP   4,i         ;push #n #retVal
         CALL    func        ;push retAddr
         ADDSP   4,i         ;pop #n #retVal 
         DECO    -2,s        ;cout << func(num)
         CHARO   '\n',i      ;<< endl
         STOP
msg:     .ASCII  "Num: \x00"
         .END

0 个答案:

没有答案