21,459
社区成员
发帖
与我相关
我的任务
分享
/** input
* eax=register to convert
* ecx=register to base (2,8,10,16)
* edi =storage pointer for ascii string
* edx =register to temp
*/
_convert:
xorl %edx,%edx
divl %ecx
pushl %edx
orl %eax,%eax
jz _store
call _convert //recurse
_store:
popl %eax
cmpb $10,%al
jl _L0
addb $('A'-10), %al
jmp _L1
_L0: orb $'0', %al
_L1: stosb
ret