system.h

来自「开源的BIOS启动软件」· C头文件 代码 · 共 39 行

H
39
字号
#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, %0" : "=r" (dummy) : : "memory");	\	} while(0)#define save_flags()						\	({ unsigned int __x; __asm__ __volatile__(		\		"mrs	%0, cpsr\n\t" : "=r" (__x));		\	   __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;

⌨️ 快捷键说明

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