home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 129,796 of 131,241   
   Stephen Fuld to MitchAlsup   
   Re: Time to eat Crow   
   03 Oct 25 10:55:46   
   
   From: sfuld@alumni.cmu.edu.invalid   
      
   On 10/2/2025 7:50 PM, MitchAlsup wrote:   
   >   
   > My 66000 2.0   
   >   
   > After 4-odd years of ISA stability, I ran into a case where   
   > I  needed to change the instruction formats.   
   > And after bragging to Quadribloc about its stability--it   
   > reached the point where it was time to switch to version 2.0.   
   >   
   > Well, its time to eat crow.   
   > --------------------------------------------------------------   
   > Memory reference instructions already produce 64-bit values   
   > from Byte, HalfWord, Word and DoubleWord memory references   
   > in both Signed and unSigned flavors. These supports both   
   > integer and floating point due to the single register file.   
   >   
   > Essentially, I need that property in both integer and floating   
   > point calculations to eliminate instructions that merely apply   
   > value range constraints--just like memory !   
   >   
   > ISA 2.0 changes allows calculation instructions; both Integer   
   > and Floating Point; and a few other miscellaneous instructions   
   > (not so easily classified) the same uniformity.   
   >   
   > In all cases, an integer calculation produces a 64-bit value   
   > range limited to that of the {Sign}×{Size}--no garbage bits   
   > in the high parts of the registers--the register accurately   
   > represents the calculation as specified {Sign}×{Size}.   
      
   I must be missing something.  Suppose I have   
      
   C := A + B   
      
   where A and C are 16 bit signed integers and B is an 8 bit signed   
   integer.  As I understand what you are doing, loading B into a register   
   will leave the high order 56 bits zero.  But the add instruction will   
   presumably be half word, so if B is negative, it will get an incorrect   
   answer (because B is not sign extended to 16 bits).   
      
   What am I missing?   
      
      
   --   
     - Stephen Fuld   
   (e-mail address disguised to prevent spam)   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca