[...] > > +Also note that the modulo operation often varies by language when the > > +dividend or divisor are negative, where Python, Ruby, etc. > > +differ from C, Go, Java, etc. This specification requires that modulo > > +use truncated division (where -13 % 3 == -1) as implemented in C, Go, > > +etc.: > > + > > + a % n = a - n * trunc(a / n) > > + > > Interesting bit of info, but I'm not sure how it relates to the ISA doc. It's because there's multiple definitions of modulo out there as the paragraph notes, which differ in what they do with negative numbers. The ISA defines the modulo operation as being the specific version above. If you tried to implement the ISA in say Python and didn't know that, you'd have a non-compliant implementation. Dave