Path: utzoo!utgpu!water!watmath!clyde!att!pacbell!ames!think!bloom-beacon!mit-eddie!bbn!rochester!cornell!batcomputer!itsgw!steinmetz!uunet!mcvax!philmds!leo From: leo@philmds.UUCP (Leo de Wit) Newsgroups: comp.lang.c Subject: Re: Partial application in C Message-ID: <520@philmds.UUCP> Date: 22 Jun 88 14:53:01 GMT References: <509@philmds.UUCP> <611@goofy.megatest.UUCP> Reply-To: leo@philmds.UUCP (L.J.M. de Wit) Organization: Philips I&E DTS Eindhoven Lines: 32 In article <611@goofy.megatest.UUCP> djones@megatest.UUCP (Dave Jones) writes: >From article <509@philmds.UUCP>, by leo@philmds.UUCP (Leo de Wit): >> there are machines that don't allow you to execute data as >> code. >Which ones? > Dave J. Is good ol' PDP-11 a good enough example for you? In fact every machine with a virtual memory system that separates data and code. Read for instance Andrew S. Tanenbaum, Structured Computer Organization, section 6.4.10. (virtual memory on the PDP-11). The hardware maps virtual addresses to physical addresses, so that for instance jmp 200 jumps to address 200 of the text space, and clr 200 clears the word at address 200 of the data space (which for the PDP-11/44 is a totally different location). Trying to execute the '200'-data address by calculating its 'text'-address (if you were able to do so) results in a segmentation violation: the PC is not within the text space boundaries. Another example: a MC68000 with a decently used MMU (I mean to say: many micro's using a 68K don't exploit the use of an MMU fully; obviously because this requires a REAL O.S. 8-). Hope this answers your question (I cannot give you ALL the names, if that was what you were looking for) ? Leo.