1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-24 04:22:22 +00:00

Merge pull request #420 from whtiehack/patch-4

Update ch3-05-control-flow.md
This commit is contained in:
chai2010 2019-02-21 13:59:17 +08:00 committed by GitHub
commit cd7b74f7d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -213,8 +213,10 @@ LOOP_END:
下面用汇编语言重新实现LoopAdd函数
```
#include "textflag.h"
// func LoopAdd(cnt, v0, step int) int
TEXT ·LoopAdd(SB), NOSPLIT, $0-32
TEXT ·LoopAdd(SB), NOSPLIT, $0-32
MOVQ cnt+0(FP), AX // cnt
MOVQ v0+8(FP), BX // v0/result
MOVQ step+16(FP), CX // step
@ -225,12 +227,12 @@ LOOP_BEGIN:
LOOP_IF:
CMPQ DX, AX // compare i, cnt
JL LOOP_BODY // if i < cnt: goto LOOP_BODY
goto LOOP_END
JMP LOOP_END
LOOP_BODY:
ADDQ $1, DX // i++
ADDQ CX, BX // result += step
goto LOOP_IF
JMP LOOP_IF
LOOP_END: