0

次のコードを書きましたが、答えが間違っています。x^2 を実行するはずですが、必要以上に反復しているようです:

1 の結果は 2 // 1+1=2 2
の結果は 8 // 2+2+2=8

最初のステートメントの 1 ではなく、CX を ZeroFlag と比較していると思います。そうですか?

pos:
     MOV CX,Number   
    again:  Add Number,AX
            Dec cx
            cmp cx,1
            jg again ; statement no. 1
    JMP DONE  
4

1 に答える 1

1

AXがゼロに初期化されていることを確認している限り、コードは機能するはずです。試す:

MOV Number, AX

ループが開始する前に、ただし、ループが開始する前に、数値が1より大きいことを確認して、1未満で誤った結果が生成されないようにします。

于 2013-03-12T12:14:41.417 に答える