Цитата(Xenia @ May 5 2014, 12:09)

У IAR atoi() маленькая-премаленькая, а strtol() большая-пребольшая

Вот она и маленькая, что это только обёртка

EWAVR 6.30.3:
CODE
\ In segment FARCODE, align 2, keep-with-next
65 int ggggg( char * a_src )
\ ggggg:
66 {
\ 00000000 93BA ST -Y, R27
\ 00000002 93AA ST -Y, R26
\ 00000004 939A ST -Y, R25
\ 00000006 938A ST -Y, R24
\ 00000008 01C8 MOVW R25:R24, R17:R16
67 //
68 return atoi(a_src) + strtoul( a_src, 0, 0 );
\ 0000000A E04A LDI R20, 10
\ 0000000C E050 LDI R21, 0
\ 0000000E E020 LDI R18, 0
\ 00000010 E030 LDI R19, 0
\ 00000012 ........ CALL __iar_Stoul
\ 00000016 01D8 MOVW R27:R26, R17:R16
\ 00000018 E040 LDI R20, 0
\ 0000001A E050 LDI R21, 0
\ 0000001C E020 LDI R18, 0
\ 0000001E E030 LDI R19, 0
\ 00000020 018C MOVW R17:R16, R25:R24
\ 00000022 ........ CALL __iar_Stoul
\ 00000026 0F0A ADD R16, R26
\ 00000028 1F1B ADC R17, R27
\ 0000002A 9189 LD R24, Y+
\ 0000002C 9199 LD R25, Y+
\ 0000002E 91A9 LD R26, Y+
\ 00000030 91B9 LD R27, Y+
\ 00000032 9508 RET
69 }