What real platforms map hardware ports to memory addresses?

后端 未结 8 1013
孤街浪徒
孤街浪徒 2021-02-03 12:47

I sometimes see statements that on some platforms the following C or C++ code:

int* ptr;
*ptr = 0;

can result in writing to a hardware input-ou

8条回答
  •  灰色年华
    2021-02-03 13:23

    This is called Memory-mapped I/O, and a good place to start is the Wikipedia article.

    Modern operating systems usually protect you from this unless you're writing drivers, but this technique is relevant even on PC architectures. Remember the DOS 640Kb limit? That's because memory addresses from 640K to 1Mb were allocated for I/O.

提交回复
热议问题