From a801c6c00d50ec63476070804e9b65cc4ea8da89 Mon Sep 17 00:00:00 2001 From: smallwhite Date: Wed, 20 Feb 2019 20:05:00 +0800 Subject: [PATCH 1/2] Update ch3-05-control-flow.md fix errors. --- ch3-asm/ch3-05-control-flow.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ch3-asm/ch3-05-control-flow.md b/ch3-asm/ch3-05-control-flow.md index 121d2c0..17311c9 100644 --- a/ch3-asm/ch3-05-control-flow.md +++ b/ch3-asm/ch3-05-control-flow.md @@ -214,7 +214,7 @@ LOOP_END: ``` // func LoopAdd(cnt, v0, step int) int -TEXT ·LoopAdd(SB), NOSPLIT, $0-32 +TEXT ·LoopAdd(SB), $0-32 MOVQ cnt+0(FP), AX // cnt MOVQ v0+8(FP), BX // v0/result MOVQ step+16(FP), CX // step @@ -225,12 +225,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: From 2c371feef4012659ff70d9f31844ec2e40d89564 Mon Sep 17 00:00:00 2001 From: smallwhite Date: Thu, 21 Feb 2019 13:41:43 +0800 Subject: [PATCH 2/2] Update ch3-05-control-flow.md --- ch3-asm/ch3-05-control-flow.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ch3-asm/ch3-05-control-flow.md b/ch3-asm/ch3-05-control-flow.md index 17311c9..a46240f 100644 --- a/ch3-asm/ch3-05-control-flow.md +++ b/ch3-asm/ch3-05-control-flow.md @@ -213,8 +213,10 @@ LOOP_END: 下面用汇编语言重新实现LoopAdd函数 ``` +#include "textflag.h" + // func LoopAdd(cnt, v0, step int) int -TEXT ·LoopAdd(SB), $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