📄 io.h
字号:
#ifndef _IO_H_#define _IO_H_/* * readX/writeX() are used to access memory mapped io devices. * On the m68k architecture, we just read/write the memory location directly. */#define readb(addr) (*(volatile unsigned char *) (addr))#define readw(addr) (*(volatile unsigned short *) (addr))#define readl(addr) (*(volatile unsigned int *) (addr))#define writeb(b,addr) (void)((*(volatile unsigned char *) (addr)) = (b))#define writew(w,addr) (void)((*(volatile unsigned short *) (addr)) = (w))#define writel(l,addr) (void)((*(volatile unsigned int *) (addr)) = (l))#define orb(b,addr) (void)((*(volatile unsigned char *) (addr)) |= (b))#define orw(w,addr) (void)((*(volatile unsigned short *) (addr)) |= (w))#define orl(l,addr) (void)((*(volatile unsigned int *) (addr)) |= (l))#define andb(b,addr) (void)((*(volatile unsigned char *) (addr)) &= (b))#define andw(w,addr) (void)((*(volatile unsigned short *) (addr)) &= (w))#define andl(l,addr) (void)((*(volatile unsigned int *) (addr)) &= (l))#define setb(b,addr) orb((b),(addr))#define setw(w,addr) orw((w),(addr))#define setl(l,addr) orl((l),(addr))#define clrb(b,addr) andb(~(b),(addr))#define clrw(w,addr) andw(~(w),(addr))#define clrl(l,addr) andl(~(l),(addr))#define bit(b) (1<<(b))#endif /* _IO_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -