2016-10-07 29 views
-1

,我們給予我無法弄清楚如何做一個任務。 任務是這樣的:與另外計算只有權力

爲了使這是由CX計數的循環,並計算出的2^CX 例如電源:如果我在CX把5我得到2^5。

指令僅僅是與另外,雖然只使用LOOP,ADD,MOV的結果存儲在AL做到這一點。

我只能去2的乘法。

這是我曾嘗試

MOV AL,2 MOV CX,5 CALC: ADD AL,AL LOOP CALC

+1

那麼你嘗試?你知道2的力量是什麼嗎?什麼是2^5? cx = 0的結果是什麼? CX = 1? CX = 2?任何模式? – Ped7g

+2

提示:如果你做一個'= A +了',那麼結果就是'2^1 *了'。如果你再做一次,你有'2^2 * a'。等我敢肯定,這裏最會知道答案,但你應該先告訴你已經嘗試了什麼(編輯你的問題,將代碼粘貼到它)。否則,你不會學到任何東西。 –

+0

嵌套循環是你的朋友。 – Johan

回答

1

OK,現在你有一些代碼,但它不會給你正確的價值,但(它可能給你64)。你應該1開始,所以AL + AL = 2,然後4

更具體:

 MOV  AL,1 
     MOV  CX,5 
CALC: 
     ADD  AL,AL  ; 1+1=2, 2+2=4, 4+4=8, 8+8=16, 16+16=32=2^5 
     LOOP CALC 
+0

哦,我明白,在我上面貼的代碼,其結果是40小時64意小數。有沒有邏輯解釋爲什麼AL應該從一個開始? – user6219654

+0

@ user6219654:是的,有。你的第一個循環應該是2,那就是1 + 1,而不是2 + 2。換句話說,你以2^0 = 1開始。 –

+0

哦,好吧,我現在明白了,謝謝! – user6219654