0
我寫了下面這段代碼,但是它得到的答案錯了。它應該做x^2,但它似乎迭代了比需要更多的時間:裝配迭代
1的結果是2 // 1 + 1 = 2
2的結果是8 // 2 + 2 + 2 = 8
我相信它將CX與ZeroFlag比較,而不是第一條語句中的1。是對的嗎?
pos:
MOV CX,Number
again: Add Number,AX
Dec cx
cmp cx,1
jg again ; statement no. 1
JMP DONE
您要添加錯誤的結果(添加數字,AX),而不是相乘。 – m0skit0 2013-03-12 12:03:19
不應該使用乘法或除法.. – geekybedouin 2013-03-12 12:04:37
「AX」包含什麼?此外,您的邏輯有點不合適:即使在進入循環之前「CX」<= 1,您總是進行一次加法。 – Michael 2013-03-12 12:12:13