1 Star 1 Fork 0

Xthoa / uFexos1

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
api.h 1.47 KB
一键复制 编辑 原始数据 按行查看 历史
Xthoa 提交于 2021-01-26 09:12 . 'v7.a'
#include "types.h"
#define __ufexapi__ static inline
__ufexapi__ void cputcharc(short c){
__asm__("int $0x30"::"a"(1),"d"(c));
}
__ufexapi__ void exit(){
__asm__("int $0x30"::"a"(2));
}
__ufexapi__ void cputchar(char c){
__asm__("int $0x30"::"a"(3),"d"(c));
}
__ufexapi__ void cputs(char* s){
__asm__("int $0x30"::"a"(4),"b"(s));
}
__ufexapi__ void cputu8(u8 i){
__asm__("int $0x30"::"a"(5),"d"(i));
}
__ufexapi__ void cputu16(u16 i){
__asm__("int $0x30"::"a"(6),"d"(i));
}
__ufexapi__ void cputu32(u32 i){
__asm__("int $0x30"::"a"(7),"d"(i));
}
__ufexapi__ int get_ticks(){
register int ret;
__asm__("int $0x30"::"a"(8));
__asm__("mov %%eax,%0":"=r"(ret));
return ret;
}
__ufexapi__ int cgeti(){
register int ret;
__asm__("int $0x30"::"a"(9));
__asm__("mov %%eax,%0":"=r"(ret));
return ret;
}
__ufexapi__ int cgetis(int* dst,int* cnt){
register int ret;
__asm__("int $0x30"::"a"(0x0a),"b"(dst),"c"(*cnt));
__asm__("mov %%ecx,%0":"=m"(*cnt));
__asm__("mov %%eax,%0":"=r"(ret));
return ret;
}
__ufexapi__ int repz_cgeti(int* dst,int* cnt){
register int ret;
__asm__("int $0x30"::"a"(0x0b),"b"(dst),"c"(*cnt));
__asm__("mov %%ecx,%0":"=m"(*cnt));
__asm__("mov %%eax,%0":"=r"(ret));
return ret;
}
__ufexapi__ int rep_cgeti(int* dst,int* cnt){
register int ret;
__asm__("int $0x30"::"a"(0x0c),"b"(dst),"c"(*cnt));
__asm__("mov %%ecx,%0":"=m"(*cnt));
__asm__("mov %%eax,%0":"=r"(ret));
return ret;
}
__ufexapi__ void delay(u32 time){
__asm__("int $0x30"::"a"(0x0d),"c"(time));
}
C
1
https://gitee.com/xthoa/u-fexos1.git
git@gitee.com:xthoa/u-fexos1.git
xthoa
u-fexos1
uFexos1
master

搜索帮助