Mercurial > lcfOS
diff doc/utils.rst @ 381:6df89163e114
Fix section and ldr pseudo instruction
author | Windel Bouwman |
---|---|
date | Sat, 26 Apr 2014 17:41:56 +0200 |
parents | 8d07a4254f04 |
children |
line wrap: on
line diff
--- a/doc/utils.rst Fri Apr 18 13:08:45 2014 +0200 +++ b/doc/utils.rst Sat Apr 26 17:41:56 2014 +0200 @@ -29,3 +29,43 @@ .. automodule:: pyburg + +Machine descriptions +-------------------- + +There are some attempts made already to describe machines in a Domain +Specific Language (DSL). Examples of these are: +- Tablegen (llvm) +- cgen (gnu) +- LISA (Aachen) +- nML (Berlin) +- SLED (Specifying representations of machine instructions (norman ramsey and Mary F. Fernandez)) + + +The goal of a machine description file is to describe a file and generate +tools like assemblers, disassemblers, linkers, debuggers and simulators. + +Advantage of using this approach is that porting these tools is a semi automated +process. Rewriting all of these tools from scratch is tedious and errorprone. + +Concepts to use in this language: +- Single stream of instructions +- State stored in memory +- Pipelining +- Instruction semantics + +Each instruction has the following properties: +- Bit representation +- Assembly language representation +- Semantic action + +Optionally a description in terms of compiler code generation can be attached +to this. But perhaps this clutters the description too much and we need to put +it elsewhere. + + +The description language can help to expand these descriptions by expanding +the permutations. + + +