go汇编调试方法

plan9基本知识:

首先我们学习如何用vscode+delve来调试go的plan9汇编代码.
首先我们用vscode配置好go的运行环境.能正确打印helloworld代码.
编写代码:
//main.go
package main

func main() {

	var aaa = Sum(2, 4)
	print(aaa)
}

func Sum(x, y int) int

//add.s
TEXT ·Sum(SB), $0-8
MOVQ x+0(FP), AX  // 将第一个参数 x 放入 AX
MOVQ y+8(FP), BX  // 将第二个参数 y 放入 BX
ADDQ BX, AX       // 将 BX 加到 AX
MOVQ AX, ret+16(FP)  // 将结果从 AX 移到返回值位置
RET               // 返回
之后我们sum这行在go代码里面打断点.单步调试就会发现delve调试器自动进入了汇编代码中.
这时候我们在watch里面可以输入寄存器名字这些来查看寄存器.
一些关键寄存器: RSP, RBP, RAX, RBX, RCX, RDX, RSI, RDI

posted on 2024-07-02 16:18  张博的博客  阅读(15)  评论(0编辑  收藏  举报

导航