Assembly 编译Sparc汇编语言
我目前在一个叫做“计算机体系结构和组织”的班上。我的教授用Sparc汇编语言编写了一个微型操作系统。我的教授现在希望我们编写一个递归函数,并将结果打印到控制台Assembly 编译Sparc汇编语言,assembly,sparc,Assembly,Sparc,我目前在一个叫做“计算机体系结构和组织”的班上。我的教授用Sparc汇编语言编写了一个微型操作系统。我的教授现在希望我们编写一个递归函数,并将结果打印到控制台 我的问题是,如何编译和测试我的程序?我真的不明白。上学期我参加了一门叫做“汇编语言”的课程。在那门课上,我从未学习过“Sparc”体系结构。我总是使用汇编语言和内联C语言,并使用Visual Basic编译程序。现在我迷路了。是SPARC汇编语言的一个很好的教程,包括使用gcc编译和运行代码。另请参见。在vi(1)中编写汇编程序代码,然后
我的问题是,如何编译和测试我的程序?我真的不明白。上学期我参加了一门叫做“汇编语言”的课程。在那门课上,我从未学习过“Sparc”体系结构。我总是使用汇编语言和内联C语言,并使用Visual Basic编译程序。现在我迷路了。是SPARC汇编语言的一个很好的教程,包括使用gcc编译和运行代码。另请参见。在vi(1)中编写汇编程序代码,然后使用汇编程序as(1)将其汇编成机器代码对象文件.o。然后使用链接编辑器ld(1)将相关的可执行文件和链接格式(ELF)信息添加到.o文件中,解析任何外部符号(函数调用到共享对象库),从而将其转换为运行时链接器ld.so.1可以执行的可执行文件
as hello.s -o hello.o && ld hello.o -o hello && ./hello
你好,世界
还可以使用C或C++编译器的前端将编写的汇编代码链接到可执行文件:
cc hello.o -o hello && ./hello
gcc hello.o -o hello && ./hello
上面的调用将在幕后为您调用链接编辑器ld(1),并提供正确的选项
假设您的汇编代码对libc进行函数调用。然后你会有一个额外的步骤:
; generates hello.o
as hello.s && ld hello.o -lc -o hello && ./hello
-lc
选项告诉链接器您要链接到libc。“lib”由链接器自动预先设置。或gcc hello.S-o hello
来组装和链接libc以及平台所需的任何其他内容。如果您编写了\u start
而不是main
,则可以gcc hello.S-nostlib-static-o hello
。