comparison 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
comparison
equal deleted inserted replaced
380:67a584582aee 381:6df89163e114
27 Burg 27 Burg
28 ---- 28 ----
29 29
30 .. automodule:: pyburg 30 .. automodule:: pyburg
31 31
32
33 Machine descriptions
34 --------------------
35
36 There are some attempts made already to describe machines in a Domain
37 Specific Language (DSL). Examples of these are:
38 - Tablegen (llvm)
39 - cgen (gnu)
40 - LISA (Aachen)
41 - nML (Berlin)
42 - SLED (Specifying representations of machine instructions (norman ramsey and Mary F. Fernandez))
43
44
45 The goal of a machine description file is to describe a file and generate
46 tools like assemblers, disassemblers, linkers, debuggers and simulators.
47
48 Advantage of using this approach is that porting these tools is a semi automated
49 process. Rewriting all of these tools from scratch is tedious and errorprone.
50
51 Concepts to use in this language:
52 - Single stream of instructions
53 - State stored in memory
54 - Pipelining
55 - Instruction semantics
56
57 Each instruction has the following properties:
58 - Bit representation
59 - Assembly language representation
60 - Semantic action
61
62 Optionally a description in terms of compiler code generation can be attached
63 to this. But perhaps this clutters the description too much and we need to put
64 it elsewhere.
65
66
67 The description language can help to expand these descriptions by expanding
68 the permutations.
69
70
71