On Wed, Jul 1, 2009 at 11:37 PM, William "Chops" Westfield wrote: > How about: > /* > * Our console uart is memory mapped > */ > struct uart_type *console = (struct uart_type *)0x801000; > > Please provide a pascal example that works with at least two different > vendors' pascal compilers. Of course, this is extremely "dangerous", I do not know any other Pascal than Turbo Pascal, but with that you could declare a variable right on top of a memory location you desire: var myloc : byte absolute $891000; you could do things like this: reg.ax:=$0003; intr($10,reg); or mem[$A000: y*320+x]:=c; you have pointers, binary operators -- but you do not have bitfields and printf format strings. I think only these two things were what I liked a bit more in C plus the for loop in C. What hard was to learn is why can't i just define specific index range for an array and why the switch..case has that few possibilities in C. Also that there is no equivalent of 'with' directive in C and that I could not declare functions inside other functions. Actually I did feel that C was a backup after Turbo Pascal and pain to use, but that was the stream you had to swim in. Tamas > > but I think it's a fine example of exactly the sort of thing that > caused less dangerous languages to be dismissed from consideration for > "systems" programming. > > BillW > > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- http://www.mcuhobby.com -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist