code: def _objdump_lexer_tokens(asm_lexer):
      """
      Common objdump lexer tokens to wrap an ASM lexer.
      """
      hex_re = r"[0-9A-Za-z]"
      return {
          "root": [
              # File name & format:
              (
                  "(.*?)(:)( +file format )(.*?)$",
                  bygroups(Name.Label, Punctuation, Text, String),
              ),
              # Section header
              (
                  "(Disassembly of section )(.*?)(:)$",
                  bygroups(Text, Name.Label, Punctuation),
              ),
              # Function labels
              # (With offset)
              (
                  "("
                  + hex_re
                  + "+)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$",
                  bygroups(
                      Number.Hex,
                      Whitespace,
                      Punctuation,
                      Name.Function,
                      Punctuation,
                      Number.Hex,
                      Punctuation,
                  ),
              ),
              # (Without offset)
              (
                  "(" + hex_re + "+)( )(<)(.*?)(>:)$",
                  bygroups(
                      Number.Hex,
                      Whitespace,
                      Punctuation,
                      Name.Function,
                      Punctuation,
                  ),
              ),
              # Code line with disassembled instructions
              (
                  "( *)("
                  + hex_re
                  + r"+:)(\t)((?:"
                  + hex_re
                  + hex_re
                  + " )+)( *\t)([a-zA-Z].*?)$",
                  bygroups(
                      Whitespace,
                      Name.Label,
                      Whitespace,
                      Number.Hex,
                      Whitespace,
                      using(asm_lexer),
                  ),
              ),
              # Code line without raw instructions (objdump --no-show-raw-insn)
              (
                  "( *)(" + hex_re + r"+:)( *\t)([a-zA-Z].*?)$",
                  bygroups(
                      Whitespace,
                      Name.Label,
                      Whitespace,
                      using(asm_lexer),
                  ),
              ),
              # Code line with ascii
              (
                  "( *)("
                  + hex_re
                  + r"+:)(\t)((?:"
                  + hex_re
                  + hex_re
                  + " )+)( *)(.*?)$",
                  bygroups(
                      Whitespace,
                      Name.Label,
                      Whitespace,
                      Number.Hex,
                      Whitespace,
                      String,
                  ),
              ),
              # Continued code line, only raw opcodes without disassembled
              # instruction
              (
                  "( *)("
                  + hex_re
                  + r"+:)(\t)((?:"
                  + hex_re
                  + hex_re
                  + " )+)$",
                  bygroups(
                      Whitespace, Name.Label, Whitespace, Number.Hex
                  ),
              ),
              # Skipped a few bytes
              (r"\t\.\.\.$", Text),
              # Relocation line
              # (With offset)
              (
                  r"(\t\t\t)("
                  + hex_re
                  + r"+:)( )([^\t]+)(\t)(.*?)([-+])(0x"
                  + hex_re
                  + "+)$",
                  bygroups(
                      Whitespace,
                      Name.Label,
                      Whitespace,
                      Name.Property,
                      Whitespace,
                      Name.Constant,
                      Punctuation,
                      Number.Hex,
                  ),
              ),
              # (Without offset)
              (
                  r"(\t\t\t)(" + hex_re + r"+:)( )([^\t]+)(\t)(.*?)$",
                  bygroups(
                      Whitespace,
                      Name.Label,
                      Whitespace,
                      Name.Property,
                      Whitespace,
                      Name.Constant,
                  ),
              ),
              (r"[^\n]+\n", Other),
          ]
      }
  
imports: import re
  from pygments.lexer import RegexLexer, include, bygroups, using, words, DelegatingLexer, default
  from pygments.lexers.c_cpp import CppLexer, CLexer
  from pygments.lexers.d import DLexer
  from pygments.token import Text, Name, Number, String, Comment, Punctuation, Other, Keyword, Operator, Whitespace
label_desc: Use image node_id 1 for calling a global function with example usage: _objdump_lexer_tokens(asm_lexer) and returns: dict