运行程序的环境
sudo lsb_release -a看到操作系统是Ubuntu 22.04 LTS。
sudo uname -r看到内核版本是5.15.0-86-generic。
sudo as --version看到as的版本是2.38。
sudo ld --version看到ld的版本是2.38。
sudo gcc --version看到gcc版本是11.2.0。
sudo gdb --version看到gdb版本是12.1。

计算平方
exponentfunc.s里边的内容如下:
.global exponent
.type exponent,@function.section .text
exponent:pushq %rbpmovq %rsp,%rbp# 没有明白这行代码的作用subq $0,%rspmovq $1,%raxmovq %rsi,-8(%rbp)mainloop:mulq %rdidecq -8(%rbp)jnz mainloopcomplete:movq %rbp,%rsppopq %rbpret
runexponent.s里边的内容如下:
.global _start
.section .text
_start:movq $3,%rdimovq $2,%rsicall exponentmovq %rax,%rdimovq $60,%raxsyscall
sudo as exponentfunc.s -g -o exponentfunc.o进行汇编,sudo as runexponent.s -g -o runexponent.o进行汇编,sudo ld exponentfunc.o runexponent.o -g -o runexponent进行链接,sudo ./runexponent执行,echo $?查看返回值。
