Turbo-C는 16bit C-compiler 이고 linux에서는 32bit 를 사용합니다.
(x86 real mode 에서는 seg:off 표현으로 20bit의 주소 공간을
최종적으로 만들어냅니다. - 최대 1MB)
물론 linux에서도 segment:offset으로 실제 주소를 표시할 수 있지만
offset이 32bit 이므로 굳이 그런 표현을 쓰지 않아도 됩니다.
중요한 문제는 도대체 어떤 영역에다가 poke(), pokeb()를 쓰려고
하는 것이냐 입니다. linux는 DOS와 달라서 아무 주소나 함부로
사용할 수 없으며 장치에 I/O를 하려는 경우에는 적절할 device driver를 사용하여야 합니다.
Turbo-C는 library가 모두 갖춰져 있지 않아서 그런 함수들을
쓴다고 하지만 Linux에서는 library manual을 뒤져 보시면
어지간한 것은 다 있습니다.
왜 poke(), pokeb()가 linux에서 필요합니까?
: =>> 답변글 정말 고마워요
: 그런데 poke함수는 주소값 표현을 segment와 offset으로 표현하는것 같은데
: 제가 잘 몰라서 그런지 원 ^_^
: 값을 넣으려는 곳은 메모리의 segment:offset으로 정의한 위치에 넣으려고
: 하는데 근데 ioremap()이라는 함수는 없는데요!!!!!
:
: 함더 관심을 보여주서요.............
: