flat assembler
Message board for the users of flat assembler.
Index
> Windows > Can anyone help me convert nasm code to fasm |
Author |
|
3371574870 16 Sep 2020, 15:47
or we can say:
"123" -> starting from 1 1 + 0 * 10 = 1 2 + 1 * 10 = 12 3 + 12 * 10 = 123 This will match to atoi function as below: atoi: push %ebx # preserve working registers push %edx push %esi mov $0, %eax # initialize the accumulator nxchr: mov $0, %ebx # clear all the bits in EBX mov (%esi), %bl # load next character in BL inc %esi # and advance source index cmp $'0', %bl # does character preceed '0'? jb inval # yes, it's not a numeral jb:jump below cmp $'9', %bl # does character follow '9'? ja inval # yes, it's not a numeral ja:jump above sub $'0', %bl # else convert numeral to int mull ten # multiply accumulator by ten. %eax * 10 add %ebx, %eax # and then add the new integer jmp nxchr # go back for another numeral inval: pop %esi # recover saved registers pop %edx pop %ebx ret This is a subroutine about string to int Any help would be appreciated! source address: https://stackoverflow.com/questions/19461476/convert-string-to-int-x86-32-bit-assembler-using-nasm _________________ Suddenly fell in love with fasm |
|||
16 Sep 2020, 15:47 |
|
AsmGuru62 17 Sep 2020, 12:41
There is no check for something like: "-123".
|
|||
17 Sep 2020, 12:41 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.