众所周知,C语言内联汇编是不需要头文件的,所以我写了个没有头文件的代码。
#define putchar(ch) \
asm("movl %%eax,(%%esp);\
call _putchar"::"a"(ch):)
int getchar(){
char ch;
asm("call _getchar":"=a"(ch)::);
return ch;
}
bool isdigit(int ch){
return ch>47&&ch<58;
}
int read(){
int x=0,f=0;char ch=getchar();
while(!isdigit(ch))ch^45||++f,ch=getchar();
while(isdigit(ch))x=x*10+(ch^48),ch=getchar();
return f?~--x:x;
}
void write(int x){
if(x<0){putchar(45);x=~--x;}
if(x>=10)write(x/10);
putchar(x%10+48);
}
int main(){
write(read()+read());
return 0;
}
本文来自博客园,作者:夏一锐,转载请注明原文链接:https://www.cnblogs.com/2021changqing52/p/17579669.html
(不过似乎不会有人转载)