Assembly 清除中断和读写端口

Assembly 清除中断和读写端口,assembly,kernel,hard-drive,Assembly,Kernel,Hard Drive,在内核级的汇编程序中,如果我们发出一个cli来禁用中断,那么我们随后是否可以发出一个端口读/写来进行硬盘读写?换言之,硬盘驱动程序能否实现同步读/写?比如: cli // Do file system stuff // at block level // read/write a block using in/out assembler instructions sti 有关ATA PIO模式(最简单的模式)的信息,请参阅。该页面包含编写PIO驱动程序所需的所有信息。基本上,您需要选择驱动器

在内核级的汇编程序中,如果我们发出一个cli来禁用中断,那么我们随后是否可以发出一个端口读/写来进行硬盘读写?换言之,硬盘驱动程序能否实现同步读/写?比如:

cli
// Do file system stuff
// at block level
// read/write a block using in/out assembler instructions
sti 
有关ATA PIO模式(最简单的模式)的信息,请参阅。该页面包含编写PIO驱动程序所需的所有信息。基本上,您需要选择驱动器,禁用驱动器的IRQ,这样就不必禁用中断,发送命令,轮询状态端口,并一次一个字地读取数据。