I was thinking maybe you can try doing bit shifting and testing to print out the number in binary.
For example:
displayMask = 1 << 31;
/* Place your decimal in value */
value;
for (c = 1; c <= 32; c++) {
putc((displayMask & value) ? '1' : '0');
value <<= 1;
}
I know I have done this in C. But this is really very easy to convert into assembly language. I can do this for you. But that would steal the joy of solving your own problems from you. If you really cannot, post another message and I will try to convert it into assembly for you.
HTH,
David