{
  "asm": [
    {
      "labels": [],
      "source": null,
      "text": "main:                                   # @main"
    },
    {
      "labels": [],
      "source": {
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 2,
        "mainsource": true
      },
      "text": "        pushq   %rbp"
    },
    {
      "labels": [],
      "source": {
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 2,
        "mainsource": true
      },
      "text": "        movq    %rsp, %rbp"
    },
    {
      "labels": [
        {
          "name": ".L.str",
          "range": {
            "endCol": 24,
            "startCol": 18
          }
        }
      ],
      "source": {
        "column": 1,
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 3,
        "mainsource": true
      },
      "text": "        movl    $.L.str, %edi"
    },
    {
      "labels": [],
      "source": {
        "column": 1,
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 3,
        "mainsource": true
      },
      "text": "        xorb    %al, %al"
    },
    {
      "labels": [],
      "source": {
        "column": 1,
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 3,
        "mainsource": true
      },
      "text": "        callq   printf"
    },
    {
      "labels": [],
      "source": {
        "column": 3,
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 4,
        "mainsource": true
      },
      "text": "        movl    $str, %edi"
    },
    {
      "labels": [],
      "source": {
        "column": 3,
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 4,
        "mainsource": true
      },
      "text": "        callq   puts"
    },
    {
      "labels": [],
      "source": {
        "column": 3,
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 4,
        "mainsource": true
      },
      "text": "        xorl    %eax, %eax"
    },
    {
      "labels": [],
      "source": {
        "column": 1,
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 5,
        "mainsource": true
      },
      "text": "        popq    %rbp"
    },
    {
      "labels": [],
      "source": {
        "column": 1,
        "file": "/home/mgodbolt/dev/compiler-explorer/<stdin>",
        "line": 5,
        "mainsource": true
      },
      "text": "        ret"
    },
    {
      "labels": [],
      "source": null,
      "text": ".L.str:"
    },
    {
      "labels": [],
      "source": null,
      "text": "        .asciz   \"Hello world\""
    },
    {
      "labels": [],
      "source": null,
      "text": "str:"
    },
    {
      "labels": [],
      "source": null,
      "text": "        .asciz   \"moo\""
    },
    {
      "labels": [],
      "source": null,
      "text": ".Lset0 = .Lpubnames_end1-.Lpubnames_begin1 # Length of Public Names Info"
    },
    {
      "labels": [
        {
          "name": ".Lset0",
          "range": {
            "endCol": 23,
            "startCol": 17
          }
        }
      ],
      "source": null,
      "text": "        .long   .Lset0"
    },
    {
      "labels": [],
      "source": null,
      "text": ".Lset1 = .Linfo_end1-.Linfo_begin1      # Compilation Unit Length"
    },
    {
      "labels": [
        {
          "name": ".Lset1",
          "range": {
            "endCol": 23,
            "startCol": 17
          }
        }
      ],
      "source": null,
      "text": "        .long   .Lset1"
    },
    {
      "labels": [],
      "source": null,
      "text": "        .long   139                     # DIE offset"
    },
    {
      "labels": [],
      "source": null,
      "text": "        .asciz   \"main\"                 # External Name"
    },
    {
      "labels": [],
      "source": null,
      "text": "        .long   0                       # End Mark"
    },
    {
      "labels": [],
      "source": null,
      "text": ".Lset2 = .Lpubtypes_end1-.Lpubtypes_begin1 # Length of Public Types Info"
    },
    {
      "labels": [
        {
          "name": ".Lset2",
          "range": {
            "endCol": 23,
            "startCol": 17
          }
        }
      ],
      "source": null,
      "text": "        .long   .Lset2"
    },
    {
      "labels": [],
      "source": null,
      "text": ".Lset3 = .Linfo_end1-.Linfo_begin1      # Compilation Unit Length"
    },
    {
      "labels": [
        {
          "name": ".Lset3",
          "range": {
            "endCol": 23,
            "startCol": 17
          }
        }
      ],
      "source": null,
      "text": "        .long   .Lset3"
    },
    {
      "labels": [],
      "source": null,
      "text": "        .long   0                       # End Mark"
    }
  ],
  "labelDefinitions": {
    ".L.str": 12,
    ".Lset0": 16,
    ".Lset1": 18,
    ".Lset2": 23,
    ".Lset3": 25,
    "main": 1,
    "str": 14
  }
}
