My ASM was written on a 32 bit centos server. as for your code, I'm at a lose, I was able to manually run through a few test cases but i still don't know what it does. Any hints lol (it seems, rather familiar, the pattern of data that is, maybe i'm just over-complicating it). Though since it was manual there could be errors.
TIS-100 is an amazing game btw, put way to many hours into it.
It is doing a relatively simple computation. Nothing mind blowing. The obfuscation comes from me not being an ASM programmer, trying to manage multiple cores, and making a program that is too big for one core fit over multiple cores.
So i guess if you remove all those complications, it might become clear?
Hmmm... I know I'm missing something lol, I'll give it a whirl tonight when I get home, maybe I'm just missing things because I've been on meds for a good few days. :D
Edit: actually, I'll figure it out tomorrow lol, so tired
I will already say that I lose as I have no clue what the hell obfuscated code is so I won't be able to write any or program any or whatever you do. : S LOL!
hehe yeah obfuscated code is just code that is deliberately written in such a way that it is hard to read and understand. People really get into it! Do a google search and see the works of art that people create that are actually programs.
Goddamnit I know what this does because I just solved the same puzzle myself in the game! I ran yours to compare to mine, anyway. Mine used less cycles and instructions ;p
Well for what it's worth, all it does is divide IN.A by IN.B, outputting the quotient to OUT.Q and the remainder to OUT.R. This relies on IN.A > IN.B, which is the case in the input data.
So how do you divide something without a divide instruction? I subtracted the smaller one from the bigger one as many times as i could, andwas left with the remainder.