正在加载图片...
版权所有南京大学计算机科学与技术系许畅等2022春季版 MIPS32汇编代码)能运行正确。 当然,不检查并不代表不重要。我们建议你试着去遵守MPS32中的各种约定,否则你的 程序生成的目标代码在SPIM Simulator中运行时可能会出现一些意想不到的错误。 另外,实验四对作为输入的C-一源代码有如下的假设: 1)假设1:输入文件中不包含任何词法、语法或语义错误(函数也必有return语句)。 2)假设2:不会出现注释、八进制或十六进制整型常数、浮点型常数或者变量。 3)假设3:整型常数都在16bts位的整数范围内,也就是说你不必考虑如果某个整型常数 无法在addi等包含立即数的指令中表示时该怎么办。 4)假设4:不会出现类型为结构体或高维数组(高于1维的数组)的变量。 5)假设5:设有全局变量的使用,并且所有变量均不重名,变量的存储空间都放到该变量 所在的函数的活动记录中。 6)假设6:任何函数参数都只能是简单变量,也就是说数组和结构体不会作为参数传入某 个函数中。 7)假设7:函数不会返回结构体或数组类型的值。 8)假设8:函数只会进行一次定义(没有函数声明)。 在进行实验四之前,请阅读后面的实验指导部分,以确保你已经了解MPS32汇编语言以 及SPIM Simulator的使用方法,这些内容是你顺利完成实验四的前提。 5.1.2输入格式 你的程序的输入是一个包含C-一源代码的文本文件,你的程序需要能够接收一个输入文件 名和一个输出文件名作为参数。例如,假设你的程序名为cc、输入文件名为test1.cmm、输出 文件名为out1.s,程序和输入文件都位于当前目录下,那么在Liux命令行下运行./cc test1.cmm out1.s即可将输出结果写入当前目录下名为out1.s的文件中。 5.1.3输出格式 实验四要求你的程序将运行结果输出到文件。对于每个输入文件,你的程序应当输出相应 的MPS32汇编代码。我们将使用SPIM Simulator对你输出的汇编代码的正确性进行测试,任 何能被SPIM Simulator执行并且结果正确的输出都将被接受。 5.1.4测试环境 你的程序将在如下环境中被编译并运行(同实验一): 94版权所有 南京大学计算机科学与技术系 许畅等 2022春季版 94 MIPS32汇编代码)能运行正确。 当然,不检查并不代表不重要。我们建议你试着去遵守MIPS32中的各种约定,否则你的 程序生成的目标代码在SPIM Simulator中运行时可能会出现一些意想不到的错误。 另外,实验四对作为输入的C−−源代码有如下的假设: 1) 假设1:输入文件中不包含任何词法、语法或语义错误(函数也必有return语句)。 2) 假设2:不会出现注释、八进制或十六进制整型常数、浮点型常数或者变量。 3) 假设3:整型常数都在16bits位的整数范围内,也就是说你不必考虑如果某个整型常数 无法在addi等包含立即数的指令中表示时该怎么办。 4) 假设4:不会出现类型为结构体或高维数组(高于1维的数组)的变量。 5) 假设5:没有全局变量的使用,并且所有变量均不重名,变量的存储空间都放到该变量 所在的函数的活动记录中。 6) 假设6:任何函数参数都只能是简单变量,也就是说数组和结构体不会作为参数传入某 个函数中。 7) 假设7:函数不会返回结构体或数组类型的值。 8) 假设8:函数只会进行一次定义(没有函数声明)。 在进行实验四之前,请阅读后面的实验指导部分,以确保你已经了解MIPS32汇编语言以 及SPIM Simulator的使用方法,这些内容是你顺利完成实验四的前提。 5.1.2 输入格式 你的程序的输入是一个包含C−−源代码的文本文件,你的程序需要能够接收一个输入文件 名和一个输出文件名作为参数。例如,假设你的程序名为cc、输入文件名为test1.cmm、输出 文件名为out1.s,程序和输入文件都位于当前目录下,那么在Linux命令行下运行./cc test1.cmm out1.s即可将输出结果写入当前目录下名为out1.s的文件中。 5.1.3 输出格式 实验四要求你的程序将运行结果输出到文件。对于每个输入文件,你的程序应当输出相应 的MIPS32汇编代码。我们将使用SPIM Simulator对你输出的汇编代码的正确性进行测试,任 何能被SPIM Simulator执行并且结果正确的输出都将被接受。 5.1.4 测试环境 你的程序将在如下环境中被编译并运行(同实验一):
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有