Convert a binary value to Roman, using ASCII
characters (or
the native character set if applicable) into a string
with a termination character (if ASCII, use the NUL (0)
character).
Is a length terminated record valid ?
The valid Roman characters used are IVXLCDM
Is Space valid ? Romans did include them at will.
There are a
few details which have been left out of the specification for
this task.
Does it require input validation?
I think I specified that. The valid range of
Roman numerals is 1 through
3,999 inclusive. The routine does have to check that and construct a
special string ( "*" ) if the input is not in that range.
Is the binary input pure binary, or is it BCD?
Okay, that might be a valid point, but it's pure binary, not BCD.
Fine, you stated max input 3999, but to be checked, and you
stated binary, but in what format ? Half Word (16 Bit),
Word (32) or Double Word (64) ?
To be transfered at a given location, or via a pointer,
or via register (attention, might again be processor specific).
> What about the console I/O routine?
Shouldn't there be some definition of
> how it's to be used? Should it be a call with the I/O character simply held
> in a register before/after the call?
I liked Sam's suggestion of ``printing to
memory'' as a way to avoid the
complications of I/O in this, and if I didn't make this clear that the
conversion was to be stored in memory, I'm sorry.
Output, to a given location (pointer) or static buffer ?
Check for buffer length or asumption of an buffer, always big
enough ? (if you check the binary number you also have to check
the buffer (if given).)
Gruss
H.
--
Stimm gegen SPAM:
http://www.politik-digital.de/spam/de/
Vote against SPAM:
http://www.politik-digital.de/spam/en/
Votez contre le SPAM:
http://www.politik-digital.de/spam/fr/
Ich denke, also bin ich, also gut
HRK