将整数转换为senary [Base6] ASCII格式

时间:2015-02-14 00:49:07

标签: ubuntu assembly ascii

我在如何实现这个问题上遇到了问题。我试图将整数转换为ASCII格式的senary值。

;  Macro to convert integer to senary value in ASCII format.

;  Call:  int2senary    <integer>, <string-addr>
;   Arguments:
;       %1 -> <integer>, value
;       %2 -> <string>, string address

;  Reads <string>, place count including NULL into <count>
;  Note, should preserve any registers that the macro alters.
mov eax, %1 
mov r9d, 6 
convLoop: 
   div r9d 
   add edx, 48 
   push edx 
   cmp eax, r9d 
   jge convLoop 

1 个答案:

答案 0 :(得分:1)

关于此代码的几点:

a在做DIV之前,你需要清除EDX。

b只要EAX不为0,迭代就必须继续。

c你需要计算你做了多少次PUSH。另外,如果将结果存储在字符串中,您还知道要执行多少次弹出窗口?