All pastes #988371 Raw Edit

arbitrary number printing linux

public text v1 · immutable
#988371 ·published 2008-04-17 14:59 UTC
rendered paste body
...

.printnum: // eax: number to print

  pushl %ecx
  pushl %eax
  pushl %ebx
  pushl %edx

  movl $10,%ebx
  leal 4(%esp),%ebp
  call .numconv

  popl %edx
  popl %ebx
  popl %eax
  popl %ecx
  ret

.numconv:
  
  xorl %edx,%edx
  divl %ebx 
  cmpl $0,%eax
  jne .numrec
.goon:
  leal (%ebp),%ecx
  movl $48,(%ecx)
  addl %edx,(%ecx)
  push %eax
  movl %ecx,%eax
  call .print
  popl %eax
  ret

.numrec:
  
  pushl %edx
  call .numconv
  popl %edx
  jmp .goon

...