system.h

来自「ADS下的bios工程」· C头文件 代码 · 共 44 行

H
44
字号
#ifndef  _BIOS_SYSTEM_H#define  _BIOS_SYSTEM_H#define sti()								\	do {								\		unsigned int dummy;					\		__asm__ __volatile__(					\			"mrs	%0, cpsr\n\t"				\			"orr	%0, %0, #1 << 7\n\t"			\			"msr	cpsr, %0" : "=r" (dummy) : : "memory");	\	} while(0)#define cli()								\	do {								\		unsigned int dummy;					\		__asm__ __volatile__(					\			"mrs	%0, cpsr\n\t"				\			"bic	%0, %0, #1 << 7\n\t"			\			"msr	cpsr_c, %0" : "=r" (dummy) : : "memory");	\	} while(0)#define save_flags(x)							\	({  __asm__ __volatile__(					\			"mrs	%0, cpsr\n\t" : "=r" (x));		\	})#define restore_flags(x)						\	do {								\		unsigned int dummy;					\		__asm__ __volatile__(					\			"mrs	%0, cpsr\n\t"				\			"bic	%0, %0, #1 << 7\n\t"			\			"and	%1, %1, #1 << 7\n\t"			\			"orr	%0, %0, %1\n\t"				\			"msr	cpsr, %0" : "=r" (dummy) : "r" (x) : "memory");\	} while (0)typedef unsigned long flags_t;#endif  /* End of _BIOS_SYSTEM_H */

⌨️ 快捷键说明

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