summaryrefslogtreecommitdiff
path: root/sim/ucsim/doc/cmd_memory.html
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
committerXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
commit268a53de823a6750d6256ee1fb1e7707b4b45740 (patch)
tree42c1799a9a82b2f7d9790ee9fe181d72a7274751 /sim/ucsim/doc/cmd_memory.html
downloadsdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'sim/ucsim/doc/cmd_memory.html')
-rw-r--r--sim/ucsim/doc/cmd_memory.html287
1 files changed, 287 insertions, 0 deletions
diff --git a/sim/ucsim/doc/cmd_memory.html b/sim/ucsim/doc/cmd_memory.html
new file mode 100644
index 0000000..2e4eca9
--- /dev/null
+++ b/sim/ucsim/doc/cmd_memory.html
@@ -0,0 +1,287 @@
+<html>
+ <head>
+ <meta content="text/html; charset=ISO-8859-2" http-equiv="content-type">
+ <title>Memory manipulation commands of &mu;Csim</title>
+ </head>
+ <body bgcolor="white">
+ <h2>Memory manipulation commands of &mu;Csim</h2>
+ Every command which changes content of ROM area such as <b><a href="#dl">dl</a></b>
+ or <b><a href="cmd_general#set_memory">set
+ memory</a></b> deletes result of <a href="analyzer.html">code
+ analyser</a> and causes to re-analyse the code.
+ <hr>
+ <a name="file">
+ <h3>file,load <i>"FILE"</i></h3>
+ </a>
+ Loads file named FILE into the simulated code memory. File must
+ contain data in Intel HEX format.
+ <pre>&gt; <font color="#118811">file "../../remo.hex"</font>
+55470 words read from ../../remo.hex
+&gt;
+</pre>
+ Don't forget to enclose file name in quotes to make the parameter to
+ be a string.
+ <hr>
+ <a name="dl">
+ <h3>download,dl</h3>
+ </a>
+ Download command. It is same as <a href="#l">load</a> above but it
+ reads information from command console which is standard input by
+ default. This command stops read records when it detects an "END"
+ record which is normally the last record. This command has two
+ equivalent forms <b>download</b> and <b>dl</b>.
+ <pre>$ <font color="#118811">s51 -V</font>
+ucsim 0.2.24, Copyright (C) 1997 Daniel Drotos, Talker Bt.
+ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+&gt; <font color="#118811">do
+:03000000020003F8
+:1000030075812078207600D8FC900000AE83AF8203
+:100013009000001200416005E4F0A380F690009F79
+:1000230012004A9000A312004A9000A712006890A1
+:1000330000AD12006875D0001200B50200B3EF6581
+:10004300827003EE658322E493F8740193F97402DA
+:1000530093FE740393F5828E83E869700122E4931F
+:10006300F6A30880F4E493FC740193FD740293FEF9
+:10007300740393FF740493F8740593F582888312D1
+:100083000041700122E493A3A883A9828C838D820B
+:10009300F0A3AC83AD828883898280E3212100B5FC
+:1000A300212100B5000000B500B5000000B500B582
+:0200B30080FECD
+:1000B5007520117501AA850120750102850120228F
+:00000001FF</font>
+197 bytes loaded
+&gt; </pre>
+ <hr>
+ <a name="fill">
+ <h3>fill <i>memory_type start end data</i></h3>
+ </a>
+ Fill memory region with specified data. First parameter specifies
+ memory. Name of the memory must be used, it can be checked using <a href="cmd_general.html#info_memory">info
+ memory</a> command which
+ lists size and name of all available memories.
+ <p><b>start</b> and <b>end</b> parameters specify first and last
+ address of the memory region to be filled.
+ </p>
+ <p><b>data</b> parameter specifies the data which is used to fill the
+ memory region.
+ </p>
+ <pre>$ <font color="#118811">s51</font>
+ucsim 0.2.38-pre2, Copyright (C) 1997 Daniel Drotos, Talker Bt.
+ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+&gt; <font color="#118811">fill xram 12 0x12 0x56</font>
+&gt; <font color="#118811">dump xram 0 0x20</font>
+0x0000 00 00 00 00 00 00 00 00 ........
+0x0008 00 00 00 00 56 56 56 56 ....VVVV
+0x0010 56 56 56 00 00 00 00 00 VVV.....
+0x0018 00 00 00 00 00 00 00 00 ........
+0x0020 00 .
+&gt; </pre>
+ <hr>
+ <a name="where">
+ <h3>where,Where <i>memory_type data...</i></h3>
+ </a>
+ Searching for some data in memory. First parameter specifies
+ memory. Name of the memory must be used, it can be checked using <a href="cmd_general.html#info_memory">info
+ memory</a> command which
+ lists size and name of all available memories.
+ <p>Other parameters can be mixed list of strings (characters between "
+ and ") and numbers. Strings can contain escape sequencies. &mu;Csim
+ merges all parameters together and will search for merged list of
+ values in specified memory.
+ </p>
+ <p><b>where</b> command do case unsensitive search while <b>Where</b>
+ command is for case sensitive search.
+ </p>
+ <p>Search is done in whole memory and all matches are dumped out.
+ </p>
+ <pre>$ <font color="#118811">s51</font>
+ucsim 0.2.38-pre2, Copyright (C) 1997 Daniel Drotos, Talker Bt.
+ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+&gt; <font color="#118811">set mem xram 20 "Dani d ani D ani dani Dani"</font>
+0x0014 44 61 6e 69 20 64 20 61 Dani d a
+0x001c 6e 69 20 44 20 61 6e 69 ni D ani
+0x0024 20 64 61 6e 69 20 44 61 dani Da
+0x002c 6e 69 ni
+&gt; <font color="#118811">where xram "dani"</font>
+0x0014 44 61 6e 69 Dani
+0x0025 64 61 6e 69 dani
+0x002a 44 61 6e 69 Dani
+&gt; <font color="#118811">Where xram "d ani"</font>
+0x0019 64 20 61 6e 69 d ani
+&gt; </pre>
+ <hr>
+ <a name="hole">
+ <h3>hole <i>[memory [length [value]]]</i></h3>
+ </a>
+ <p>Searching for a memory area where all locations are filled with
+ value. By default this command searches rom but any memory can be
+ specified. Areas shorter than specified length (default is 100)
+ will not be listed. Searched value is 0 (zero) by default but
+ other can be sepcified as the last patrameter.
+ </p>
+ <pre>$ <font color="#118811">s51</font>
+uCsim 0.6-pre55, Copyright (C) 1997 Daniel Drotos.
+uCsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+0&gt; hole
+0x0000 65535
+0&gt; <font color="#118811">hole xram</font>
+0&gt; <font color="#118811">fill xram 0x100 0x1ff 11</font>
+0&gt; <font color="#118811">hole xram 50 11</font>
+0x0100 255
+0&gt; <font color="#118811">fill xram 0x500 0x600 11</font>
+0&ht; <font color="#118811">hole xram 50 11</font>
+0x0100 255
+0x0500 256
+0&gt; <font color="#118811">rom[0x200]=1</font>
+1
+0&gt; <font color="#118811">hole</font>
+0x0000 511
+0x0201 65022
+0&gt; </pre>
+ <p>
+ Data of found areas are listed in two columns. First column is
+ the start address of the area in hexadecimal and the second
+ column is area lenght (in decimal).
+ </p>
+ <hr>
+ <a name="memory">
+ <h3>memory</h3>
+ </a>
+ This set of commands can be used to manipulate <a href="memory.html">memory
+ system</a> including <a href="memory.html#chip">chips</a>, <a href="memory.html#address_space">address
+ spaces</a> and <a href="memory.html#address_decoder">address decoders</a>.
+ <p>Subcommands are:
+ </p>
+ <p>memory <a href="#memory_createchip">createchip</a>
+ <br>
+ memory <a href="#memory_createaddressspace">createaddressspace</a>
+ <br>
+ memory <a href="#memory_createaddressdecoder">createaddressdecoder</a>
+ <br>
+ memory <a href="#memory_info">info</a>
+ </p>
+ <blockquote>
+ <a name="memory_createchip">
+ <h4>memory createchip|cchip <i>id size
+ cellsize</i></h4>
+ </a>
+ This command creates a chip (array of storage elements). <b>id</b>
+ must be a unique name which will be used to identify the chip in other
+ commands. <b>size</b> is number of storage elements, <b>cellsize</b>
+ is number of bits stored in one element.
+ <hr>
+ <a name="memory_createaddressspace">
+ <h4>memory
+createaddressspace|caddressspace|caddrspace|caspace|createaddrspace|createaspace
+ <i>id startaddr size</i></h4>
+ </a>
+ This command should never be used. It defines an address space, names
+ it as <b>id</b> sets its starting address and size. Simulator programs
+ (<b>s51</b>, <b>savr</b>, etc.) define necessary address spaces for
+ themself, so this command is not needed.
+ <hr>
+ <a name="memory_createaddressdecoder">
+ <h4>memory
+createaddressdecoder|caddrdecoder|caddressdecoder|cadecoder|createaddrdecoder|createadecoder
+ <i>addressspace begin end chip begin</i></h4>
+ </a>
+ Address decoder maps a part of the address space to a chip
+ area. <b>addressspace</b> parameter is name of the address space,
+ <b>begin</b> and <b>end</b> specify address range of the address space
+ to be mapped. <b>chip</b> parameter is name of the memory chip and
+ the second <b>begin</b> parameter is the (start of the) chip address
+ where the area is mapped to.
+ <p>Address space will be split if a "middle" are is mapped:
+ </p>
+ <pre>$ <font color="#118811">s51</font>
+uCsim 0.5.0-pre3, Copyright (C) 1997 Daniel Drotos, Talker Bt.
+uCsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+0&gt; <font color="#118811">i m</font>
+Memory chips:
+ 0x000000-0x00ffff 65536 rom_chip (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 iram_chip (8,%02x,0x%02x)
+ 0x000000-0x00ffff 65536 xram_chip (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 sfr_chip (8,%02x,0x%02x)
+Address spaces:
+ 0x000000-0x00ffff 65536 rom (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 iram (8,%02x,0x%02x)
+ 0x000080-0x0000ff 128 sfr (8,%02x,0x%02x)
+ 0x000000-0x00ffff 65536 xram (8,%02x,0x%04x)
+Address decoders:
+ 0 rom 0x0000 0xffff -&gt; rom_chip 0x0000 activated
+ 0 iram 0x00 0x7f -&gt; iram_chip 0x00 activated
+ 0 sfr 0x80 0xff -&gt; sfr_chip 0x00 activated
+ 0 xram 0x0000 0xffff -&gt; xram_chip 0x0000 activated
+0&gt; <font color="#118811">mem cchip myram 0x1000 8</font>
+0&gt; <font color="#118811">mem createaddressdecoder xram 1234 2000 myram 15</font>
+0&gt; <font color="#118811">i m</font>
+Memory chips:
+ 0x000000-0x00ffff 65536 rom_chip (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 iram_chip (8,%02x,0x%02x)
+ 0x000000-0x00ffff 65536 xram_chip (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 sfr_chip (8,%02x,0x%02x)
+ 0x000000-0x000fff 4096 myram (8,%02x,0x%03x)
+Address spaces:
+ 0x000000-0x00ffff 65536 rom (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 iram (8,%02x,0x%02x)
+ 0x000080-0x0000ff 128 sfr (8,%02x,0x%02x)
+ 0x000000-0x00ffff 65536 xram (8,%02x,0x%04x)
+Address decoders:
+ 0 rom 0x0000 0xffff -&gt; rom_chip 0x0000 activated
+ 0 iram 0x00 0x7f -&gt; iram_chip 0x00 activated
+ 0 sfr 0x80 0xff -&gt; sfr_chip 0x00 activated
+ 0 xram 0x0000 0x04d1 -&gt; xram_chip 0x0000 activated
+ 1 xram 0x04d2 0x07d0 -&gt; myram 0x00f activated
+ 2 xram 0x07d1 0xffff -&gt; xram_chip 0x07d1 activated
+0&gt;
+</pre>
+ It is easy to share chip area between address spaces:
+ <pre>$ <font color="#118811">s51</font>
+uCsim 0.5.0-pre3, Copyright (C) 1997 Daniel Drotos, Talker Bt.
+uCsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+0&gt; <font color="#118811">mem createaddressdecoder rom 0 0xfff xram_chip 0xf000</font>
+0&gt; <font color="#118811">i m</font>
+Memory chips:
+ 0x000000-0x00ffff 65536 rom_chip (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 iram_chip (8,%02x,0x%02x)
+ 0x000000-0x00ffff 65536 xram_chip (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 sfr_chip (8,%02x,0x%02x)
+Address spaces:
+ 0x000000-0x00ffff 65536 rom (8,%02x,0x%04x)
+ 0x000000-0x00007f 128 iram (8,%02x,0x%02x)
+ 0x000080-0x0000ff 128 sfr (8,%02x,0x%02x)
+ 0x000000-0x00ffff 65536 xram (8,%02x,0x%04x)
+Address decoders:
+ 0 rom 0x0000 0x0fff -&gt; xram_chip 0xf000 activated
+ 1 rom 0x1000 0xffff -&gt; rom_chip 0x1000 activated
+ 0 iram 0x00 0x7f -&gt; iram_chip 0x00 activated
+ 0 sfr 0x80 0xff -&gt; sfr_chip 0x00 activated
+ 0 xram 0x0000 0xffff -&gt; xram_chip 0x0000 activated
+0&gt; <font color="#118811">rom[0]=0xab</font>
+171
+0&gt; <font color="#118811">xram[0xf000]</font>
+171
+0&gt;
+</pre>
+ <hr>
+ </blockquote>
+ <a name="memory_info">
+ <h4>memory info</h4>
+ </a>
+ This command is same as <a href="cmd_general.html#info_memory">info
+ memory</a>.
+ <hr>
+ </body>
+</html>