Why doesn MUL.AB #-1, #-1 produce +1 for large core sizes?
Remember, numbers in Core War are always positive; -1 is really just another way of writing CORESIZE-1. So, anytime the core size is greater than 2^16 (=65536), -1 times -1 will overflow the 32-bit numbers that CoreWin uses, and the results will not be what you expect. In general, you need to be careful using the MUL instruction when you are writing warriors for large core sizes.