added xml-loader
This commit is contained in:
105
gallery/test.json
Normal file
105
gallery/test.json
Normal file
@ -0,0 +1,105 @@
|
||||
{
|
||||
"structures": {
|
||||
"main": {
|
||||
"bits": 32,
|
||||
"ranges": {
|
||||
"31-28": {
|
||||
"name": "cond"
|
||||
},
|
||||
"27": {
|
||||
"name": "0"
|
||||
},
|
||||
"26": {
|
||||
"name": "1"
|
||||
},
|
||||
"25": {
|
||||
"name": "I"
|
||||
},
|
||||
"24": {
|
||||
"name": "P",
|
||||
"description": "pre / post indexing bit",
|
||||
"values": {
|
||||
"0": "post, add offset after transfer",
|
||||
"1": "pre, add offset before transfer"
|
||||
}
|
||||
},
|
||||
"23": {
|
||||
"name": "U",
|
||||
"description": "up / down bit",
|
||||
"values": {
|
||||
"0": "down, subtract offset from base",
|
||||
"1": "up, addition offset to base"
|
||||
}
|
||||
},
|
||||
"22": {
|
||||
"name": "B",
|
||||
"description": "byte / word bit",
|
||||
"values": {
|
||||
"0": "transfer word quantity",
|
||||
"1": "transfer byte quantity"
|
||||
}
|
||||
},
|
||||
"21": {
|
||||
"name": "W",
|
||||
"description": "write-back bit",
|
||||
"values": {
|
||||
"0": "no write-back",
|
||||
"1": "write address into base"
|
||||
}
|
||||
},
|
||||
"20": {
|
||||
"name": "L",
|
||||
"description": "load / store bit",
|
||||
"values": {
|
||||
"0": "store to memory",
|
||||
"1": "load from memory"
|
||||
}
|
||||
},
|
||||
"19-16": {
|
||||
"name": "Rn",
|
||||
"description": "base register"
|
||||
},
|
||||
"15-12": {
|
||||
"name": "Rd",
|
||||
"description": "source / destination register"
|
||||
},
|
||||
"11-0": {
|
||||
"name": "offset",
|
||||
"depends-on": "25",
|
||||
"values": {
|
||||
"0": {
|
||||
"description": "offset is an immediate value",
|
||||
"structure": "immediateOffset"
|
||||
},
|
||||
"1": {
|
||||
"description": "offset is a register",
|
||||
"structure": "registerOffset"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"immediateOffset": {
|
||||
"bits": 12,
|
||||
"ranges": {
|
||||
"11-0": {
|
||||
"name": "12-bit immediate offset",
|
||||
"description": "unsigned number"
|
||||
}
|
||||
}
|
||||
},
|
||||
"registerOffset": {
|
||||
"bits": 12,
|
||||
"ranges": {
|
||||
"11-4": {
|
||||
"name": "shift",
|
||||
"description": "shift applied to Rm"
|
||||
},
|
||||
"3-0": {
|
||||
"name": "Rm",
|
||||
"description": "offset register"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
BIN
gallery/test.pdf
BIN
gallery/test.pdf
Binary file not shown.
@ -1,7 +1,16 @@
|
||||
#import "../src/lib.typ": *
|
||||
|
||||
#let test = schema.load("/gallery/test.yaml")
|
||||
#schema.render(test, config: config.blueprint(
|
||||
full-page: true,
|
||||
default-font-family: "Ubuntu Mono"
|
||||
#let test-yaml = schema.load("/gallery/test.yaml")
|
||||
#schema.render(test-yaml, config: config.config(
|
||||
full-page: true
|
||||
))
|
||||
|
||||
#let test-json = schema.load("/gallery/test.json")
|
||||
#schema.render(test-json, config: config.blueprint(
|
||||
full-page: true
|
||||
))
|
||||
|
||||
#let test-xml = schema.load("/gallery/test.xml")
|
||||
#schema.render(test-xml, config: config.dark(
|
||||
full-page: true
|
||||
))
|
68
gallery/test.xml
Normal file
68
gallery/test.xml
Normal file
@ -0,0 +1,68 @@
|
||||
<schema>
|
||||
<structure id="main" bits="32">
|
||||
<range start="28" end="31" name="cond"></range>
|
||||
<range start="27" end="27" name="0"></range>
|
||||
<range start="26" end="26" name="1"></range>
|
||||
<range start="25" end="25" name="I"></range>
|
||||
<range start="24" end="24" name="P">
|
||||
<description>pre / post indexing bit</description>
|
||||
<values>
|
||||
<case value="0">post, add offset after transfer</case>
|
||||
<case value="1">pre, add offset before transfer</case>
|
||||
</values>
|
||||
</range>
|
||||
<range start="23" end="23" name="U">
|
||||
<description>up / down bit</description>
|
||||
<values>
|
||||
<case value="0">down, subtract offset from base</case>
|
||||
<case value="1">up, addition offset to base</case>
|
||||
</values>
|
||||
</range>
|
||||
<range start="22" end="22" name="B">
|
||||
<description>byte / word bit</description>
|
||||
<values>
|
||||
<case value="0">transfer word quantity</case>
|
||||
<case value="1">transfer byte quantity</case>
|
||||
</values>
|
||||
</range>
|
||||
<range start="21" end="21" name="W">
|
||||
<description>write-back bit</description>
|
||||
<values>
|
||||
<case value="0">no write-back</case>
|
||||
<case value="1">write address into base</case>
|
||||
</values>
|
||||
</range>
|
||||
<range start="20" end="20" name="L">
|
||||
<description>load / store bit</description>
|
||||
<values>
|
||||
<case value="0">store to memory</case>
|
||||
<case value="1">load from memory</case>
|
||||
</values>
|
||||
</range>
|
||||
<range start="16" end="19" name="Rn">
|
||||
<description>base register</description>
|
||||
</range>
|
||||
<range start="12" end="15" name="Rd">
|
||||
<description>source / destination register</description>
|
||||
</range>
|
||||
<range start="0" end="11" name="offset" depends-on="25">
|
||||
<values>
|
||||
<case value="0" structure="immediateOffset">offset is an immediate value</case>
|
||||
<case value="1" structure="registerOffset">offset is a register</case>
|
||||
</values>
|
||||
</range>
|
||||
</structure>
|
||||
<structure id="immediateOffset" bits="12">
|
||||
<range start="0" end="11" name="12-bit immediate offset">
|
||||
<description>unsigned number</description>
|
||||
</range>
|
||||
</structure>
|
||||
<structure id="registerOffset" bits="12">
|
||||
<range start="4" end="11" name="shift">
|
||||
<description>shift applied to Rm</description>
|
||||
</range>
|
||||
<range start="0" end="3" name="Rm">
|
||||
<description>offset register</description>
|
||||
</range>
|
||||
</structure>
|
||||
</schema>
|
Reference in New Issue
Block a user