首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将整数转换为senary[Base6] ASCII码格式

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

Stack Overflow用户
提问于 2015-02-14 08:49:07
回答 1查看 232关注 0票数 0

我对如何实现这一点有一些问题。我正在尝试将整数转换为ASCII格式的三进制值。

代码语言:javascript
复制
;  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 
EN

回答 1

Stack Overflow用户

发布于 2015-02-14 22:43:31

关于这段代码有几点:

a在执行DIV之前,需要清除EDX

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

,c,,你需要计算一下你做了多少次PUSH-es。否则,在将结果存储在字符串中时,您如何知道稍后要执行多少次pop-s?

应用于代码:

代码语言:javascript
复制
  mov  eax, %1
  mov  r9d, 6
  xor  ecx, ecx     ; (c)
convLoop:
  xor  edx, edx     ; (a)
  div  r9d
  add  edx, 48
  push edx
  inc  ecx          ; (c)
  test eax, eax     ; (b)
  jnz  convLoop     ; (b)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28511166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档