我正在学习关于Assembly和C.的一些基础知识用于学习目的我决定编写一个禁用Interrupts的简单程序,当用户想要在控制台中键入内容时他/她不能:
#include <stdio.h> int main(){ int a; printf("enter your number : "); asm ("cli"); scanf("%d",&a); printf("your number is %d\n",a); return 0; }
但是当我用GCC编译它时,我得到了分段错误:
Segmentation fault (core dumped)
当我用gdb调试它时,当程序到达asm(“cli”)时,我收到了这条消息;线:
Program received signal SIGSEGV,Segmentation fault. main () at cli.c:6 6 asm ("cli");