[爆卦]loop迴圈是什麼?優點缺點精華區懶人包

為什麼這篇loop迴圈鄉民發文收入到精華區:因為在loop迴圈這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者LPH66 ((short)(-15074))看板Programming標題Re: [討論] 組...


※ 引述《jimmy5566 (56好棒)》之銘言:
: .code
: main PROC
: mov ax,0
: mov ecx,5
: L1:add ax,cx
: loop L1
: 執行結果為 5+4+3+2+1=15
: 現在如果希望執行出來的結果為
: (5+4+3+2+1)+(5+4+3+2+1)+(5+4+3+2+1)+(5+4+3+2+1)+(5+4+3+2+1)=75
: 這樣原來的程式要加入什麼指令才能達成?
我是喜歡用把 ecx 推進 stack 的小技巧:

;其他宣告略

mov ax,0

;這是外層迴圈
mov ecx, 5
L2: push ecx ;外層的 ecx 留起來

;這是內層迴圈
mov ecx, 5
L1: add ax,cx
loop L1

;內層迴圈結束了
pop ecx ;拿出留起來的外層 ecx
loop L2

自己實際在寫時也會像寫 C 的雙層迴圈一樣把內層縮進去

這樣可以馬上知道這是個雙層迴圈 也方便檢查有沒有正確留好 ecx 的值

多層也可以類推 就多推幾個就是了 XD

--
ˊ_▂▃▄▂_ˋ. ◣          ▅▅ ▅▅ ι●╮  
./◤_▂▃▄▂_◥ \'▊   HARUHI █████ <■┘  
◤◤◥█◥◥█Δ   ISM    By-gamejye ¢|\   ▌▌
ζ(▏●‵◥′●)Ψ ▏           █    ⊿Δ   
/|▋ |\ ▎         ハルヒ主義      ▄█
◥◥|◣ ‵′ ◢/'◢◢S.O.S 世界をいに盛り上げるための宮ハルヒの   

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.28.92
jimmy5566:感恩~ 122.122.129.10 03/28 11:38

你可能也想看看

搜尋相關網站