it's basically the same as add, but it supports negative values using two's complement. Two's complement is cpu specific and I don't think you should really need to know much about this command for GBA hacking. btw two's complement is a convention people use to display negative numbers in binary.
I happen to know a lot of java too :P