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 130,604 of 131,241   
   Chris M. Thomasson to MitchAlsup   
   Re: Variable-length instructions   
   22 Dec 25 13:49:16   
   
   From: chris.m.thomasson.1@gmail.com   
      
   On 12/21/2025 1:21 PM, MitchAlsup wrote:   
   >   
   > "Chris M. Thomasson"  posted:   
   >   
   >> On 12/21/2025 10:12 AM, MitchAlsup wrote:   
   >>>   
   >>> John Savard  posted:   
   >>>   
   >>>> On Sat, 20 Dec 2025 20:15:51 +0000, MitchAlsup wrote:   
   >>>>   
   >>>>> For argument setup (calling side) one needs MOV   
   >>>>> {R1..R5},{Rm,Rn,Rj,Rk,Rl}   
   >>>>> For returning values (calling side)   needs MOV {Rm,Rn,Rj},{R1..R3}   
   >>>>>   
   >>>>> For loop iterations                   needs MOV {Rm,Rn,Rj},{Ra,Rb,Rc}   
   >>>>>   
   >>>>> I just can't see how to make these run reasonably fast within the   
   >>>>> constraints of the GBOoO Data Path.   
   >>>>   
   >>>> Since you actually worked at AMD, presumably you know why I'm mistaken   
   >>>> here...   
   >>>>   
   >>>> when I read this, I thought that there was a standard technique for doing   
   >>>> stuff like that in a GBOoO machine.   
   >>>   
   >>> There is::: it is called "load 'em up, pass 'em through". That is no   
   >>> different than any other calculation, except that no mangling of the   
   >>> bits is going on.   
   >>>   
   >>>>                                      Just break down all the fancy   
   >>>> instructions into RISC-style pseudo-ops. But apparently, since you would   
   >>>> know all about that, there must be a reason why it doesn't apply in these   
   >>>> cases.   
   >>>   
   >>> x86 has short/small MOV instructions, Not so with RISCs.   
   >>   
   >> Does your EMS use a so called LOCK MOV? For some damn reason I remember   
   >> something like that. The LOCK "prefix" for say XADD, CMPXCHG8B, ect..   
   >   
   > The 2-operand+displacement LD/STs have a lock bit in the instruction--that   
   > is it is not a Prefix. MOV in My 66000 is reg-reg or reg-constant.   
   >   
   > Oh, and its ESM not EMS. Exotic Synchronization Method.   
   >   
   > In order to get ATOMIC-ADD-to-Memory; I will need an Instruction-Modifier   
   > {A.K.A. a prefix}.   
      
   Thanks for the clarification.   
      
   --- 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