#include
#include
const char month2[12][10] = {
{'J', 'a', 'n', 'u', 'a', 'r', 'y', 0, 0, 0,},
{'F', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'M', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'A', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'M', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'J', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'J', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'A', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'S', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'O', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'N', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ',},
{'D', 'e', 'c', 'e', 'm', 'b', 'e', 'r', 0, 0,},
};
const char * get_month(int month)
{
return &month2[month][0];
}
void main()
{
}
#if 0
/*
* intel
*/
0000000000001129
1129: f3 0f 1e fa endbr64
112d: 55 push %rbp
112e: 48 89 e5 mov %rsp,%rbp
1131: 89 7d fc mov %edi,-0x4(%rbp) // parameter
1134: 8b 45 fc mov -0x4(%rbp),%eax // eax=parameter
1137: 48 63 d0 movslq %eax,%rdx // rdx=parameter
113a: 48 89 d0 mov %rdx,%rax // rax=parameter
113d: 48 c1 e0 02 shl $0x2,%rax // rax=parameter<<2
1141: 48 01 d0 add %rdx,%rax // rax=(parameter<<2)+(parameter<<2)
1144: 48 01 c0 add %rax,%rax // rax=((parameter<<2)+(parameter<<2))+((parameter<<2)+(parameter<<2))
1147: 48 8d 15 d2 0e 00 00 lea 0xed2(%rip),%rdx # 2020
114e: 48 01 d0 add %rdx,%rax // rax=month2+(((parameter<<2)+(parameter<<2))+((parameter<<2)+(parameter<<2)))
1151: 5d pop %rbp
1152: c3 retq
0000000000001153
1153: f3 0f 1e fa endbr64
1157: 55 push %rbp
1158: 48 89 e5 mov %rsp,%rbp
115b: 90 nop
115c: 5d pop %rbp
115d: c3 retq
115e: 66 90 xchg %ax,%ax
/*
* arm
*/
000000000040051c
40051c: d10043ff sub sp, sp, #0x10
400520: b9000fe0 str w0, [sp, #12]
400524: b9800fe1 ldrsw x1, [sp, #12] // x1=param
400528: aa0103e0 mov x0, x1 // x0=param
40052c: d37ef400 lsl x0, x0, #2 // x0=param<<2
400530: 8b010000 add x0, x0, x1 // x0=(param<<2)+param
400534: d37ff800 lsl x0, x0, #1 // x0=((param<<2)+param)<<1
400538: 90000001 adrp x1, 400000 <_init-0x3b0>
40053c: 91182021 add x1, x1, #0x608 // x1=month2
400540: 8b010000 add x0, x0, x1 // x0=month2+(((param<<2)+param)<<1)
400544: 910043ff add sp, sp, #0x10
400548: d65f03c0 ret
000000000040054c
40054c: d503201f nop
400550: d65f03c0 ret
400554: 00000000 .inst 0x00000000 ; undefined
#endif