<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=MEMCOPY%2Fde</id>
		<title>MEMCOPY/de - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=MEMCOPY%2Fde"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=MEMCOPY/de&amp;action=history"/>
		<updated>2026-05-08T07:55:52Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=MEMCOPY/de&amp;diff=2565&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=MEMCOPY/de&amp;diff=2565&amp;oldid=prev"/>
				<updated>2013-02-15T19:15:24Z</updated>
		
		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:15, 15 February 2013&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=MEMCOPY/de&amp;diff=2564&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Copies a block of memory  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  = &lt;span c...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=MEMCOPY/de&amp;diff=2564&amp;oldid=prev"/>
				<updated>2013-02-11T20:39:54Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  Copies a block of memory  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  = &amp;lt;span c...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== (**COPIED FROM ENGLISH PAGE**) === &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Copies a block of memory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
bts&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;&amp;amp;nbsp;= MEMCOPY&amp;lt;/span&amp;gt;(source, target , bytes[ , option])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;604&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 87px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
bts&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 508px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The total number of bytes copied. This must be a word or integer&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 87px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
source&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 508px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The first address of the source variable that will be copied.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 87px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
target&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 508px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The first address of the target variable that will be copied to.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 87px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
bytes&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 508px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The number of bytes to copy from &amp;quot;source&amp;quot; to &amp;quot;target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;15%&amp;quot; style=&amp;quot;width: 87px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
option&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 508px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
An optional numeric constant with one of the following values&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
1 - only the source address will be increased after each copied byte&lt;br /&gt;
&lt;br /&gt;
2 - only the target address will be increased after each copied byte&lt;br /&gt;
&lt;br /&gt;
3 - both the source and target address will be copied after each copied byte&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, option 3 is used as this will copy a block of memory from one memory location to another location. But it also possible to fill an entire array of memory block with the value of 1 memory location. For example to clear a whole block or preset it with a value.&lt;br /&gt;
&lt;br /&gt;
And with option 2, you can for example get a number of samples from a register like PINB and store it into an array.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
MEMCOPY checks the size of the target variable and it will not overwrite data if the number of bytes is greater than the size of the target data. For example&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
Dim tar(4) as byte, sar(8) as byte&lt;br /&gt;
&lt;br /&gt;
MEMCOPY sar(1), tar(1),8&lt;br /&gt;
&lt;br /&gt;
Even while 8 bytes are specified, the data size for tar() is 4 and thus only 4 bytes will be copied.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
When you use MEMCOPY Inside a sub routine/function with passed parameters, there is no way to check the target size.&lt;br /&gt;
&lt;br /&gt;
In this case, there is no check on the target size and the number of specified bytes will be moved, no matter the target data size.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
MEMCOPY can also be used to clear an array quickly.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
NONE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;ASM&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
NONE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-----------------------------------------------------------------------&lt;br /&gt;
'name : MEMCOPY.BAS&lt;br /&gt;
'copyright : (c) 1995-2006, MCS Electronics&lt;br /&gt;
'purpose : show memory copy function&lt;br /&gt;
'suited for demo : yes&lt;br /&gt;
'commercial addon needed : no&lt;br /&gt;
'use in simulator : possible&lt;br /&gt;
'----------------------------------------------------------------------&lt;br /&gt;
$regfile = &amp;quot;m88def.dat&amp;quot; ' specify the used micro&lt;br /&gt;
$crystal = 8000000 ' used crystal frequency&lt;br /&gt;
$baud = 19200 ' use baud rate&lt;br /&gt;
$hwstack = 32 ' default use 32 for the hardware stack&lt;br /&gt;
$swstack = 16 ' default use 10 for the SW stack&lt;br /&gt;
$framesize = 40&lt;br /&gt;
 &lt;br /&gt;
Dim Ars(10) As Byte 'source bytes&lt;br /&gt;
Dim Art(10) As Byte 'target bytes&lt;br /&gt;
Dim J As Byte 'index&lt;br /&gt;
For J = 1 To 10 'fill array&lt;br /&gt;
Ars(j) = J&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
J = Memcopy(ars(1) , Art(1) , 4) 'copy 4 bytes&lt;br /&gt;
 &lt;br /&gt;
Print J ; &amp;quot; bytes copied&amp;quot;&lt;br /&gt;
For J = 1 To 10&lt;br /&gt;
Print Art(j)&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
J = Memcopy(ars(1) , Art(1) , 10 , 2) 'assign them all with element 1&lt;br /&gt;
 &lt;br /&gt;
Print J ; &amp;quot; bytes copied&amp;quot;&lt;br /&gt;
For J = 1 To 10&lt;br /&gt;
Print Art(j)&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim W As Word , L As Long&lt;br /&gt;
W = 65511&lt;br /&gt;
J = Memcopy(w , L , 2) 'copy 2 bytes from word to long&lt;br /&gt;
End&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference/de]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>