Do I recall correctly that you're using Dr. Carter's routines? If so, they won't handle unsigned integers, as they stand. If you're ready, take a deep breath and delve into his "asm_io.asm". First thing in "section .data" is "int_format", given as "%i". Both "read_int" and "print_int" use this. To do unsigned integers, you'd want "%u" (as I recall) - it's a C thing. The "easy" fix would be to just change it to "%u". The "right" (I guess) way to fix it would be to add a "uint_format" format string, and a "read_uint" and "print_uint" routine (copied mostly from Dr. Carter's routines). Either way, don't forget to re-assemble "asm_io.asm", which you probably haven't done since you installed the thing. Then link your program against the new asm_io.o[bj], and you'll have the new behavior.
But that may not be the "point" of your assignment. If you're expected to write code to handle unsigned integers "on your own", doing the above probably won't get you a good grade. Or maybe that's the way you're "supposed" to do it. I dunno.
Anyway, the way you declare your variables is the same for signed and unsigned, in asm ("label resd number", not "resd label number" as you show, BTW!). A C compiler needs to know whether it's signed or unsigned, since it has to decide which actual instructions to use. In asm, *you* are the one writing the instructions, and you have to choose appropriate ones. Fortunately, in most cases, there isn't any difference between signed and unsigned. There are exceptions. For example...
mov eax, 1
mov ebx, 0FFFFFFFFh
cmp eax, ebx
; jb someplace
; jl someplace
Which do we want? If eax and ebx are unsigned integers, ebx is a big number - bigger than 1. If they're signed integers, ebx is -1 - smaller than 1. Note that the bit pattern in ebx (all of 'em) is the same in both cases, the difference is in how we wish to interpret the bits. If signed, anything "bigger" than 80000000h (most significant bit set) represents a number less than zero.
If you need more help with which instructions differ between signed and unsigned, RTFM or show us what you've got and where it's going wrong. (or both
Best,
Frank