Partial application in C

Leo de Wit leo at philmds.UUCP
Thu Jun 23 00:53:01 AEST 1988


In article <611 at goofy.megatest.UUCP> djones at megatest.UUCP (Dave Jones) writes:
>From article <509 at philmds.UUCP>, by leo at 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.



More information about the Comp.lang.c mailing list