Go调用Plan9汇编代码

Go调用Plan9汇编代码

1.目录详情

注意.s汇编文件要与Go文件名称相同

image-20220215214810274

2.Go文件

package main

import "fmt"
// 该add函数声明定义在同一个 package name 下的任意 .go文件中
// 只有函数头,没有实现
func add(a, b int) int
func main() {
	fmt.Println(add(10, 11))
}

3.汇编文件(xx.s)

#include "textflag.h"

// func add(a, b int) int
// add函数的Go汇编实现
// pkgname 默认是  ""
TEXT ·add(SB), NOSPLIT, $0-24
    MOVQ a+0(FP), AX // 参数 a
    MOVQ b+8(FP), BX // 参数 b
    ADDQ BX, AX    // AX += BX
    MOVQ AX, ret+16(FP) // 返回
    RET


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值