io_low_HLL.c
上传用户:qddsws
上传日期:2022-06-22
资源大小:723k
文件大小:1k
源码类别:

操作系统开发

开发平台:

C/C++

  1. inline unsigned char inportb(unsigned int port)
  2. {
  3.      unsigned char ret;
  4.         asm volatile ("inb %%dx,%%al":"=a" (ret):"d" (port));
  5.    return ret;
  6. }
  7. inline void outportb(unsigned int port,unsigned char value)
  8. {
  9.      asm volatile ("outb %%al,%%dx": :"d" (port), "a" (value));
  10. }
  11. inline void outportlong(unsigned int port,unsigned long value){
  12.      asm volatile ("outl %%eax,%%dx": :"d" (port), "a" (value));
  13. }
  14. inline unsigned long inportlong(unsigned int port)
  15. {
  16.      unsigned long ret;
  17.         asm volatile ("inl %%dx,%%eax":"=a" (ret):"d" (port));
  18.    return ret;
  19. }