First: Know that a negative number's topmost bit is set, while a positive number's topmost bit is cleared
Second: Know just WHAT size your numbers are. -54321 is IMPOSSIBLE for a 16-bit number. Are you sure about that?
Third: The topmost bit of a 16-bit integer is the 15th bit. Whose value is... 2 to the 15th of course!
Fourth: The TEST instruction is used to test whether or not a bit is set or cleared. So you test that bit.
Fifth: NOW you know whether it's negative or positive! BUT: Where are you gonna place that number?
Sixth: Have three indexes: one for array1, one for array2, and one for array3.
Seventh: Good luck and have fun. "Information has a tendency to be free. Which means someone will always tell you something you don't want to know."