I'm trying to make a homebrew CPU but having problems with the 74LS181 ALU, which I'm simulating in Logisim software before diving into real ICs and breadboards.
I've cascaded two 74181 following instructions found in many sites such as this.
This works fine with most of addings I tried, but some don't work.
0010 0111 (39 in decimal) + 0000 0001 (1)
leads to a 0010 0000 (32) result.
I know it should have something to do with the fact that 74181 uses signed numbers represented in two's complement. The least significant nibble in the example (0111) represents the max positive number with 4 bits, so when incremented by one goes to zero...
Is there any way to make 74181 work with only positive numbers? Or solve this issue in any other way.
I'm frustrated because with this problem the ALU is completelly usesless.
link for project (has image of error on simulated ALU) - link on comment bellow