Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/22/06 14:31
Read: times


 
#116836 - PLM/51 addressing
Responding to: ???'s previous message

Hi Jan:

Thanks for jumping in.

And as you suspected the declaration did have something to do with it. I discovered that if I hard coded the physical addresses within my write_output code everything worked as expected...

/* addressing based from cards address */
if (port < 3) then
valveaddr = (0c200h) + port;
else
valveaddr = (0c300h) + (port MOD 3);

This showed that my arithmetic was ok but oddly something else was going on here. The problem was that my PL/M based pointer declared in my set_output procedure was not based on auxiliary memory as in the declaration you pointed out. The code fix was within set_output by declaring ptr as follows...

declare valve based ptr byte auxiliary;

Since in PL/M all memory declarations default to Main the ptr reference in set_output was incorrect. Live and learn. Can't blame PL/M. ;-)





List of 11 messages in thread
TopicAuthorDate
PLM/51 addressing            01/01/70 00:00      
   Why ?            01/01/70 00:00      
   Why?            01/01/70 00:00      
   PLM/51 addressing            01/01/70 00:00      
      Looks like Pascal            01/01/70 00:00      
         PLM/51 addressing            01/01/70 00:00      
      Extend - not port            01/01/70 00:00      
         PLM/51 addressing            01/01/70 00:00      
            Ah...            01/01/70 00:00      
            a blind shot            01/01/70 00:00      
               PLM/51 addressing            01/01/70 00:00      

Back to Subject List