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 + -
显示快捷键?