我目前正在一个名为“#34;计算机架构和组织”的课程中。"我的教授在Sparc Assembler Language中编写了一个迷你操作系统。我的教授现在希望我们编写一个递归函数并将结果打印到控制台。
我的问题是,如何编译和测试我的程序?我真的不明白。上学期我参加了一个名为“汇编语言”的课程。"在那堂课上,我从未了解过#Sparc"建筑。我总是使用汇编语言与内联C,并使用Visual Basic编译程序。现在我迷失了。
答案 0 :(得分:1)
Here是SPARC汇编语言的一个很好的教程,包括使用gcc编译和运行代码。另请参阅SPARC Assembly Language。
答案 1 :(得分:1)
您在vi(1)中编写汇编代码,然后使用汇编程序(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"由链接器自动添加。