1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | .file "test_switch.c" .intel_syntax noprefix .def ___main; .scl 2; .type 32; .endef .section .rdata,"dr" LC0: .ascii "%u\0" LC1: .ascii "Zero\0" LC2: .ascii "One\0" LC3: .ascii "Two\0" LC4: .ascii "Three\0" LC5: .ascii "Four\0" .section .text.startup,"x" .p2align 2,,3 .globl _main .def _main; .scl 2; .type 32; .endef _main: LFB12: .cfi_startproc push ebp .cfi_def_cfa_offset 8 .cfi_offset 5, -8 mov ebp, esp .cfi_def_cfa_register 5 and esp, -16 sub esp, 32 call ___main lea eax, [esp+28] mov DWORD PTR [esp+4], eax mov DWORD PTR [esp], OFFSET FLAT:LC0 call _scanf cmp DWORD PTR [esp+28], 4 ja L2 mov eax, DWORD PTR [esp+28] jmp [DWORD PTR L8[0+eax*4]] .section .rdata,"dr" .align 4 L8: .long L3 .long L4 .long L5 .long L6 .long L7 .section .text.startup,"x" L7: mov DWORD PTR [esp], OFFSET FLAT:LC5 call _printf .p2align 2,,3 L2: xor eax, eax leave .cfi_remember_state .cfi_restore 5 .cfi_def_cfa 4, 4 ret L6: .cfi_restore_state mov DWORD PTR [esp], OFFSET FLAT:LC4 call _printf jmp L2 L3: mov DWORD PTR [esp], OFFSET FLAT:LC1 call _printf jmp L2 L4: mov DWORD PTR [esp], OFFSET FLAT:LC2 call _printf jmp L2 L5: mov DWORD PTR [esp], OFFSET FLAT:LC3 call _printf jmp L2 .cfi_endproc LFE12: .def _scanf; .scl 2; .type 32; .endef .def _printf; .scl 2; .type 32; .endef |
CS5maWxlCSJ0ZXN0X3N3aXRjaC5jIgoJLmludGVsX3N5bnRheCBub3ByZWZpeAoJLmRlZglfX19tYWluOwkuc2NsCTI7CS50eXBlCTMyOwkuZW5kZWYKCS5zZWN0aW9uIC5yZGF0YSwiZHIiCkxDMDoKCS5hc2NpaSAiJXVcMCIKTEMxOgoJLmFzY2lpICJaZXJvXDAiCkxDMjoKCS5hc2NpaSAiT25lXDAiCkxDMzoKCS5hc2NpaSAiVHdvXDAiCkxDNDoKCS5hc2NpaSAiVGhyZWVcMCIKTEM1OgoJLmFzY2lpICJGb3VyXDAiCgkuc2VjdGlvbgkudGV4dC5zdGFydHVwLCJ4IgoJLnAyYWxpZ24gMiwsMwoJLmdsb2JsCV9tYWluCgkuZGVmCV9tYWluOwkuc2NsCTI7CS50eXBlCTMyOwkuZW5kZWYKX21haW46CkxGQjEyOgoJLmNmaV9zdGFydHByb2MKCXB1c2gJZWJwCgkuY2ZpX2RlZl9jZmFfb2Zmc2V0IDgKCS5jZmlfb2Zmc2V0IDUsIC04Cgltb3YJZWJwLCBlc3AKCS5jZmlfZGVmX2NmYV9yZWdpc3RlciA1CglhbmQJZXNwLCAtMTYKCXN1Ygllc3AsIDMyCgljYWxsCV9fX21haW4KCWxlYQllYXgsIFtlc3ArMjhdCgltb3YJRFdPUkQgUFRSIFtlc3ArNF0sIGVheAoJbW92CURXT1JEIFBUUiBbZXNwXSwgT0ZGU0VUIEZMQVQ6TEMwCgljYWxsCV9zY2FuZgoJY21wCURXT1JEIFBUUiBbZXNwKzI4XSwgNAoJamEJTDIKCW1vdgllYXgsIERXT1JEIFBUUiBbZXNwKzI4XQoJam1wCVtEV09SRCBQVFIgTDhbMCtlYXgqNF1dCgkuc2VjdGlvbiAucmRhdGEsImRyIgoJLmFsaWduIDQKTDg6CgkubG9uZwlMMwoJLmxvbmcJTDQKCS5sb25nCUw1CgkubG9uZwlMNgoJLmxvbmcJTDcKCS5zZWN0aW9uCS50ZXh0LnN0YXJ0dXAsIngiCkw3OgoJbW92CURXT1JEIFBUUiBbZXNwXSwgT0ZGU0VUIEZMQVQ6TEM1CgljYWxsCV9wcmludGYKCS5wMmFsaWduIDIsLDMKTDI6Cgl4b3IJZWF4LCBlYXgKCWxlYXZlCgkuY2ZpX3JlbWVtYmVyX3N0YXRlCgkuY2ZpX3Jlc3RvcmUgNQoJLmNmaV9kZWZfY2ZhIDQsIDQKCXJldApMNjoKCS5jZmlfcmVzdG9yZV9zdGF0ZQoJbW92CURXT1JEIFBUUiBbZXNwXSwgT0ZGU0VUIEZMQVQ6TEM0CgljYWxsCV9wcmludGYKCWptcAlMMgpMMzoKCW1vdglEV09SRCBQVFIgW2VzcF0sIE9GRlNFVCBGTEFUOkxDMQoJY2FsbAlfcHJpbnRmCglqbXAJTDIKTDQ6Cgltb3YJRFdPUkQgUFRSIFtlc3BdLCBPRkZTRVQgRkxBVDpMQzIKCWNhbGwJX3ByaW50ZgoJam1wCUwyCkw1OgoJbW92CURXT1JEIFBUUiBbZXNwXSwgT0ZGU0VUIEZMQVQ6TEMzCgljYWxsCV9wcmludGYKCWptcAlMMgoJLmNmaV9lbmRwcm9jCkxGRTEyOgoJLmRlZglfc2NhbmY7CS5zY2wJMjsJLnR5cGUJMzI7CS5lbmRlZgoJLmRlZglfcHJpbnRmOwkuc2NsCTI7CS50eXBlCTMyOwkuZW5kZWY=


