URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-binutils/] [binutils-2.19.1/] [cgen/] [pgmr-tools.scm] - Rev 6
Compare with Previous | Blame | View Log
; Programmer development tools. ; Copyright (C) 2000, 2009 Red Hat, Inc. ; This file is part of CGEN. ; See file COPYING.CGEN for details. ; ; This file contains a collection of programmer debugging tools. ; They're mainly intended for using cgen to debug other things, ; but any kind of debugging tool can go here. ; All routines require the application independent part of cgen to be loaded ; and the .cpu file to be loaded. They do not require any particular ; application though (opcodes, simulator, etc.). If they do, that's a bug. ; It may be that the appication has a generally useful routine that should ; live elsewhere, but that's it. ; ; These tools don't have to be particularily efficient (within reason). ; It's more important that they be simple and clear. ; ; Some tools require ifmt-compute! to be run. ; They will run it if necessary. ; ; Table of contents: ; ; pgmr-pretty-print-insn-format ; cgen debugging tool, pretty prints the iformat of an <insn> object ; ; pgmr-pretty-print-insn-value ; break out an instruction's value into its component fields ; ; pgmr-lookup-insn ; given a random bit pattern for an instruction, lookup the insn and return ; its <insn> object ; Pretty print the instruction's opcode value, for debugging. ; INSN is an <insn> object. "0x"", "" "; Print VALUE with digits not in MASK printed as "X". "0x"", "" "" Name: "", ""Start: "", ""Length: ""\n""Instruction: ""\n""Syntax: ""\n""Fields:\n""Instruction length (computed from ifield list): ""\n""Mask: ""\n""Value: "; TODO: Print value spaced according to fields. "\n"; Pretty print an instruction's value. ": "", 0x""\n""Instruction: ""\n""Fields:\n"; Return the <insn> object matching VALUE. ; VALUE is either a single number of size base-insn-bitsize, ; or a list of numbers for variable length ISAs. ; LENGTH is the total length of VALUE in bits. ; include aliases ; don't need to analyze semantics ; Return a boolean indicating if BASE matches the base part of <insn> INSN. ; return (value & mask) == ivalue