ioport 是用来定义io口的一个关键字 语法: ioport type porthex_num ; 其中: ioport keyword,表明这是一个端口变量 type 必须是 char short int 或 unsigned int porthex_num 端口号,hex_num是一个十六进制数,代表IO空间的地址 注:端口定义放在函数中无效,必须在文件级的位置。
所以,ioport unsigned port3; 表示定义了一个unsigned类型的IO口,其地址为 003H 例: ioport int port10; //定义了一个整型的IO口,其地址为 010H int a;int b;int c; extern void foo(int); void func( ) { port10 = a; //把a从port10送出 b = port10; //读操作 foo(port10); //可以作为函数的参数 c = port10+b; port10 += a; // 可以放在表达式中操作 } 如果对定义IO口的地址有疑问的话,可以看下C compiler 的输出文件。 比如 port10 = a; 被编译为以下的汇编语句: MOVZ DP,#_a OUT *(010H),@_a
|