I have reproduced below a portion of Figure 2-1 from Chapter 2, Section 2.4 of

*The Elements of Computing Systems* where the representation of signed numbers using the 2's complement method is explained. This chart is for 4-bit binary numbers.

Note that this list includes every possible signed 4-bit number. Examine the binary representation carefully. What do you notice about the most significant bit (the left-most bits) that relates to whether the number represented is negative or non-negative?

Create a similar table for 5-bit signed integers using 2's complement representation. Is the same fact still true?

What about for 8-bit numbers? Still true?

Is it also true for 16-bit signed numbers represented in 2's complement?

This is the direction that WBahn is trying to direct you. If you're still unsure, get a copy of the book and look at the next paragraphs after the figure above where the authors explicitly provide the answer.

Using the property that you have discovered about 2's complement representation, it should be relatively straightforward to figure out how to set the proper value of the ng flag bit based on the current output of the ALU.