diff options
| author | jiang <30155751@qq.com> | 2014-05-17 12:32:00 +0800 |
|---|---|---|
| committer | jiang <30155751@qq.com> | 2014-05-17 12:32:00 +0800 |
| commit | e5e7f488e22190f893152c0b2f73e9ba499c4169 (patch) | |
| tree | 44a02b5ea1eb2464d6d7c0cb67bce68605473391 /include | |
| parent | a94ed430945d5012bd5d3abee24ed75ecb73d07c (diff) | |
| download | tinycc-e5e7f488e22190f893152c0b2f73e9ba499c4169.tar.gz tinycc-e5e7f488e22190f893152c0b2f73e9ba499c4169.tar.bz2 | |
int main()
{
struct st {
int aa:16;
int bb:16;
} s;
s.aa = 1;
s.bb = 2;
return 0;
}
objdump -d:
elf64-x86-64
Disassembly of section .text:
0000000000000000 <main>:
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
4: 48 81 ec 10 00 00 00 sub $0x10,%rsp
b: b8 01 00 00 00 mov $0x1,%eax
10: 48 89 c1 mov %rax,%rcx
13: 81 e1 ff ff 00 00 and $0xffff,%ecx
19: 8b 55 fc mov -0x4(%rbp),%edx
1c: 81 e2 00 00 ff ff and $0xffff0000,%edx
22: 09 d1 or %edx,%ecx
24: 89 4d fc mov %ecx,-0x4(%rbp)
27: b8 02 00 00 00 mov $0x2,%eax
2c: 48 89 c1 mov %rax,%rcx
2f: 81 e1 ff ff 00 00 and $0xffff,%ecx
35: c1 e1 10 shl $0x10,%ecx
38: 8b 55 fc mov -0x4(%rbp),%edx
3b: 81 e2 ff ff 00 00 and $0xffff,%edx
41: 09 d1 or %edx,%ecx
43: 89 4d fc mov %ecx,-0x4(%rbp)
46: b8 00 00 00 00 mov $0x0,%eax
4b: e9 00 00 00 00 jmpq 50 <main+0x50>
50: c9 leaveq
51: c3 retq
After the patch
Disassembly of section .text:
0000000000000000 <main>:
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
4: 48 81 ec 10 00 00 00 sub $0x10,%rsp
b: 8b 45 fc mov -0x4(%rbp),%eax
e: 81 e0 00 00 ff ff and $0xffff0000,%eax
14: 83 c8 01 or $0x1,%eax
17: 89 45 fc mov %eax,-0x4(%rbp)
1a: 8b 45 fc mov -0x4(%rbp),%eax
1d: 81 e0 ff ff 00 00 and $0xffff,%eax
23: 81 c8 00 00 02 00 or $0x20000,%eax
29: 89 45 fc mov %eax,-0x4(%rbp)
2c: b8 00 00 00 00 mov $0x0,%eax
31: e9 00 00 00 00 jmpq 36 <main+0x36>
36: c9 leaveq
37: c3 retq
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
