diff --git a/examples/custom-disassembler.h b/examples/custom-disassembler.h
new file mode 100644
index 0000000..12d1a7f
--- /dev/null
+++ b/examples/custom-disassembler.h
@@ -0,0 +1,54 @@
+// Copyright 2014, ARM Limited
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+//   * Redistributions of source code must retain the above copyright notice,
+//     this list of conditions and the following disclaimer.
+//   * Redistributions in binary form must reproduce the above copyright notice,
+//     this list of conditions and the following disclaimer in the documentation
+//     and/or other materials provided with the distribution.
+//   * Neither the name of ARM Limited nor the names of its contributors may be
+//     used to endorse or promote products derived from this software without
+//     specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef VIXL_EXAMPLES_CUSTOM_DISASSEMBLER_H_
+#define VIXL_EXAMPLES_CUSTOM_DISASSEMBLER_H_
+
+#include "a64/disasm-a64.h"
+
+using namespace vixl;
+
+void TestCustomDisassembler();
+
+class CustomDisassembler: public Disassembler {
+ public:
+  CustomDisassembler() : Disassembler() { }
+  virtual ~CustomDisassembler() { }
+
+  virtual void VisitAddSubShifted(const Instruction* instr);
+
+ protected:
+  // We print custom register names.
+  virtual void AppendRegisterNameToOutput(const Instruction* instr,
+                                          const CPURegister& reg);
+
+  // We fake looking up addresses in a table and printing useful names.
+  virtual void AppendCodeAddressToOutput(const Instruction* instr,
+                                         const void* addr);
+};
+
+
+#endif
