MIPS罗马数字转换器

时间:2015-10-26 01:46:47

标签: converter mips mips32 roman-numerals

所以我正处于MIPS中规划罗马数字转换器(罗马数字到整数)的开始阶段。我坚持如何转换数字小于下一个数字的数字(即IV [4])。我正在考虑做下面的事情,但它仍然无法解决我的问题。

把它放在数据部分的某处:

all_numerals: .asciiz "IVXLCDMivxlcdm"
all_values:   .byte 1, 5, 10, 50, 100, 500, 1000, 1, 5, 10, 50, 100, 500, 1000

然后我会读取该字符并将其与all_values中的索引进行比较,并将其添加到寄存器并重复。

有谁知道这样做的有效方法?按照目前的情况,我将做一个循环,将最后一个字符(I [1])与下一个字符(V [5])进行比较,如果是它不是从最近的(5 - 1)中减去该字符,但我认为这将是低效的。任何帮助深表感谢。

0 个答案:

没有答案