Mercurial > lcfOS
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 |