コード例 #1
0
ファイル: ast.cpp プロジェクト: coopersimon/Compiler
void v_float::build_status(status& stat, std::ostream& out)
{
	stat.change_text_data("rdata", out);
	out << stat.data_label_gen() << ":\n";
	out << "\t.word\t" << value.i << "\n";
	return;
}
コード例 #2
0
ファイル: ast.cpp プロジェクト: coopersimon/Compiler
void v_str::build_status(status& stat, std::ostream& out)
{
	stat.change_text_data("rdata", out);
	out << stat.data_label_gen() << ":\n";
	out << "\t.asciiz\t" << value << "\n";
	return;
}
コード例 #3
0
ファイル: ast.cpp プロジェクト: coopersimon/Compiler
void v_float::code_gen(status& stat, std::ostream& out)
{
	stat.set_float();
	std::string data_label = stat.data_label_gen();
	out << "\tlui\t$t" << stat.get_register() << ",%hi(" << data_label << ")\n";
	out << "\tlwc1\t$f" << stat.get_f_register() << ",%lo(" << data_label << ")($t" << stat.get_register() << ")\n";
	return;
}
コード例 #4
0
ファイル: ast.cpp プロジェクト: coopersimon/Compiler
void v_str::code_gen(status& stat, std::ostream& out)
{
	out << "\tla\t$t" << stat.get_register() << "," << stat.data_label_gen() << "\n";
	return;
}