📄 divtest.c
字号:
struct divcase { int num; int denom; int res;};volatile struct divcase diva[] = { { 2, 3, 0}, { 3, -2, -1}, { 2, -3, 0}, { 0, 1, 0}, { 0, -1, 0}, { 1, -1, -1}, { -1, 1, -1}, { -2, 3, 0}, { -2, -3, 0}, {9, 7, 1}, { -9, 2, -4}, {-8, 2, -4}, {-8, -4, 2}, {8, -4, -2}, {-8, -8 , 1}, {-8, -9, 0}, {11, 2, 5}, {47, 2, 23}, { 12345, 679, 12345/679}, { -63636, 77, -63636/77}, { 12345, -679, -12345/679}, { -63636, -77, 63636/77}, { 145, -6079, 0}, { -636, -77777, 0}, { 63226, 7227777, 0}, { 0, 0, 0} };struct udivcase { unsigned int num; unsigned int denom; unsigned int res;};volatile struct udivcase udiva[] = { { 2, 3, 0}, { 0, 1, 0}, { 0xfffffffe, 3, 0xfffffffe/3}, { 0xfffffffe, 3, 0xfffffffe/3}, { 0x700ffffe, 7, 0x700ffffe/7}, { 0, 0, 0} };divtest(){ int i = 0; /* skip test if divider disabled */ if (!((get_asr17() >> 8) & 1)) return(0); // report(DIV_TEST); while (diva[i].denom != 0) { if ((diva[i].num / diva[i].denom) != diva[i].res) return(1); i++; } i = 0; while (udiva[i].denom != 0) { if ((udiva[i].num / udiva[i].denom) != udiva[i].res) return(2); i++; } return(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -