我有一個關於裝配循環的任務。沒什麼難,因爲它只是課程的開始。我已經完成了所要求的內容,只是想看看我所做的是否正確。另外,我想知道是否有任何不需要或可以刪除的內容。 (我喜歡看到不同的方式去了解事情,並能看到更有效的東西)。
在裝配中循環
Evaluate the sum of 2n - 5, where n goes from 1 to 7
這是我做了什麼:
_num1
DB 0
mov cx, 1 ; set counter to 1
mov eax, 0 ; use eax to keep total
eval:
mov [_num1], cx ; set num1 to cx value
shl [_num1], 1 ; double value of num1
add eax, [_num1] ; add values of 2n to eax
sub eax, 5 ; subtract 5 from eax (total)
inc cx ; increment cx
cmp cx, 7 ; check if equal
jne eval
應該
這項工作是否正常?如果是這樣,有沒有改進它的方法?如果不是,實施有什麼問題?
什麼意思「它應該工作正常」?你不嘗試嗎? – 2012-02-07 22:31:20
你有能力運行這個代碼嗎?這應該有助於您確定它是否有效。 – 2012-02-07 22:31:30
@CarlNorum&GregHewgill我目前沒有能力運行此操作。 (我將無法在本週末之前)。如果邏輯是正確的,那麼我認爲我不必調試太多。另一方面,我也在儘早完成任務。 – StartingGroovy 2012-02-07 22:36:19