char a[] = "abc";   // movl    $6513249, -12(%rbp)
char ab[] = "ab";  // movw    $25185, -11(%rbp) 
char abc[] = "a"; // movw    $97, -10(%rbp)
The C code above is represented in assembly (gcc -S code.c) as:
movl    $6513249, -12(%rbp)
movw    $25185, -15(%rbp)
movw    $97, -17(%rbp)
97 is 'a' in decimal, but why "ab" is 25185 and "abc" is 6513249?
 
    