代码拉取完成,页面将自动刷新
#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));
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。