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

📄 check_lz.c

📁 我们自己开发的一个OSEK操作系统!不知道可不可以?
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <stdint.h>#include "sys.h"extern inline int cris_lz(int x){	int r;	asm ("lz\t%1, %0\n" : "=r" (r) : "r" (x));	return r;}void check_lz(void){	int i;	if (cris_lz(0) != 32)		err();	if (cris_lz(1) != 31)		err();	if (cris_lz(2) != 30)		err();	if (cris_lz(4) != 29)		err();	if (cris_lz(8) != 28)		err();	/* try all positions with a single bit.  */	for (i = 1; i < 32; i++) {		if (cris_lz(1 << (i-1)) != (32 - i))			err();	}	/* try all positions with all bits.  */	for (i = 1; i < 32; i++) {		/* split up this computation to clarify it.  */		uint32_t val;		val = (unsigned int)-1 >> (32 - i);		if (cris_lz(val) != (32 - i))			err();	}}int main(void){	check_lz();	pass();	exit(0);}

⌨️ 快捷键说明

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