Skip to content
STIMSMITH

instr datatype

CodeArtifact

The `instr` datatype is an Isabelle abstract datatype used to model the assembler instruction set. Its constructors correspond to instruction mnemonics with operands, grouped into data transfer, arithmetic/logical, test, shift, control, and interrupt instructions.

First seen 5/25/2026
Last seen 5/26/2026
Evidence 2 chunks
Wiki v1

WIKI

instr datatype

Overview

instr is an Isabelle abstract datatype defining the assembler instruction set in the cited microprocessor case study. The datatype uses operation mnemonics as datatype constructors, with each constructor carrying the operands for the corresponding assembler operation. The evidence presents instr as part of an assembler-level model used for instruction semantics and transition definitions. [C1]

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

2 connections
VAMP assembler model (Isabelle/HOL) part of → 100% 1e
The instr datatype is part of the VAMP assembler model.
VAMP SML executable model part of → 100% 1e
The SML model contains the instr datatype generated from Isabelle.

CITATIONS

6 sources
6 citations — click to expand
[1] The `instr` datatype is an Isabelle abstract datatype defining the assembler instruction set, with operation mnemonics used as constructors associated with operands. Test Program Generation for a Microprocessor: A Case Study
[2] The datatype distinguishes data transfer, arithmetic/logical, test, shift, control, and interrupt instruction classes, with representative constructors such as `Ilb`, `Ilhgi`, `Imovs2i`, `Iaddio`, `Iclri`, `Islli`, `Ibeqz`, and `Itrap`. Test Program Generation for a Microprocessor: A Case Study
[3] `exec_instr` maps an assembler configuration and an `instr` value to the resulting assembler configuration, with representative clauses for arithmetic, logical, and shift instructions. Test Program Generation for a Microprocessor: A Case Study
[4] The `Step` transition executes the current instruction with `exec_instr st (current_instr st)`. Test Program Generation for a Microprocessor: A Case Study
[5] `ASMcoret` contains `dpc`, `pcp`, `gprs`, `sprs`, and `mm`; register files are integer lists; and `is_ASMcore` requires 32 general-purpose and 32 special-purpose registers with valid register and memory values. Test Program Generation for a Microprocessor: A Case Study
[6] The assembler model is more abstract than the processor model and abstracts over details including interrupt handling, virtual memory and caching, pipelining, and instruction reordering. Test Program Generation for a Microprocessor: A Case Study