⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 float.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <bio.h>#include <mach.h>#include "arm.h"void	unimp(ulong);void	Ifcmp(ulong);void	Ifdiv(ulong);void	Ifmul(ulong);void	Ifadd(ulong);void	Ifsub(ulong);void	Ifmov(ulong);void	Icvtd(ulong);void	Icvtw(ulong);void	Icvts(ulong);void	Ifabs(ulong);void	Ifneg(ulong);Inst cop1[] = {	{ Ifadd,	"add.f", Ifloat },	{ Ifsub,	"sub.f", Ifloat },	{ Ifmul,	"mul.f", Ifloat },	{ Ifdiv,	"div.f", Ifloat },	{ unimp,	"", },	{ Ifabs,	"abs.f", Ifloat },	{ Ifmov,	"mov.f", Ifloat },	{ Ifneg,	"neg.f", Ifloat },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ Icvts,	"cvt.s", Ifloat },	{ Icvtd,	"cvt.d", Ifloat },	{ unimp,	"", },	{ unimp,	"", },	{ Icvtw,	"cvt.w", Ifloat },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ unimp,	"", },	{ Ifcmp,	"c.f",	 Ifloat },	{ Ifcmp,	"c.un",  Ifloat },	{ Ifcmp,	"c.eq",  Ifloat },	{ Ifcmp,	"c.ueq", Ifloat },	{ Ifcmp,	"c.olt", Ifloat },	{ Ifcmp,	"c.ult", Ifloat },	{ Ifcmp,	"c.ole", Ifloat },	{ Ifcmp,	"c.ule", Ifloat },	{ Ifcmp,	"c,sf",  Ifloat },	{ Ifcmp,	"c.ngle",Ifloat },	{ Ifcmp,	"c.seq", Ifloat },	{ Ifcmp,	"c.ngl", Ifloat },	{ Ifcmp,	"c.lt",  Ifloat },	{ Ifcmp,	"c.nge", Ifloat },	{ Ifcmp,	"c.le",  Ifloat },	{ Ifcmp,	"c.ngt", Ifloat },	{ 0 }};voidunimp(ulong inst){	print("op %d\n", inst&0x3f);	Bprint(bioout, "Unimplemented floating point Trap IR %.8lux\n", inst);	longjmp(errjmp, 0);}voidinval(ulong inst){	Bprint(bioout, "Invalid Operation Exception IR %.8lux\n", inst);	longjmp(errjmp, 0);}voidifmt(int r){	Bprint(bioout, "Invalid Floating Data Format f%d pc 0x%lux\n", r, reg.r[15]);	longjmp(errjmp, 0);}voidfloatop(int dst, int s1, int s2){}voiddoubop(int dst, int s1, int s2){}voidIswc1(ulong inst){}voidIfsub(ulong ir){}voidIfmov(ulong ir){}voidIfabs(ulong ir){}voidIfneg(ulong ir){}voidIcvtd(ulong ir){}voidIcvts(ulong ir){}voidIcvtw(ulong ir){}voidIfadd(ulong ir){}voidIfmul(ulong ir){}voidIfdiv(ulong ir){}voidIlwc1(ulong inst){}voidIbcfbct(ulong inst){}voidImtct(ulong ir){}voidImfcf(ulong ir){}voidIcop1(ulong ir){}voidIfcmp(ulong ir){}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -