<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>'Memcpy procedure for 80188 embedded system' Thread RSS Feed</title>
    <link>http://www.programmersheaven.com/</link>
    <description>Contains the latest posts from the thread 'Memcpy procedure for 80188 embedded system' posted on the 'x86 Assembly' forum at Programmer's Heaven.</description>
    <language>en</language>
    <copyright>Copyright 2013 Programmers Heaven</copyright>
    <pubDate>Sat, 25 May 2013 21:19:47 -0700</pubDate>
    <lastBuildDate>Sat, 25 May 2013 21:19:47 -0700</lastBuildDate>
    <generator>Argotic Syndication Framework 2007.3.0.1, http://www.codeplex.com/Argotic</generator>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <ttl>360</ttl>
    <image>
      <url>http://www.programmersheaven.com/images/ph.gif</url>
      <title>Programmers Heaven</title>
      <link>http://www.programmersheaven.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <item>
      <title>Memcpy procedure for 80188 embedded system</title>
      <link>http://www.programmersheaven.com/mb/x86_asm/220851/220851/memcpy-procedure-for-80188-embedded-system/</link>
      <description>Hi &lt;br /&gt;
&lt;br /&gt;
I need to write a "memcpy" procedure in assembly for an embedded system running on an 80188 microprocessor. Memcpy() copies n bytes from memory area s2 to s1 and returns s1. It is called in C code as follows:&lt;br /&gt;
&lt;br /&gt;
void *memcpy(void *s1, const void *s2, size_t n)&lt;br /&gt;
&lt;br /&gt;
I am very new to assembly programming and is hoping for some advice how this can be done. Btw, is there a compiler which translate C code into assembly?&lt;br /&gt;
&lt;br /&gt;
Any advice is very much appreciated. Thank you.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
Wilson&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/x86_asm/220851/220851/memcpy-procedure-for-80188-embedded-system/</guid>
      <pubDate>Wed, 29 Oct 2003 10:15:17 -0700</pubDate>
      <category>x86 Assembly</category>
    </item>
    <item>
      <title>Re: Memcpy procedure for 80188 embedded system</title>
      <link>http://www.programmersheaven.com/mb/x86_asm/220851/220854/re-memcpy-procedure-for-80188-embedded-system/#220854</link>
      <description>: Hi, I need to write a "memcpy" procedure in assembly&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="sourcecode"&gt;
  MOV  SI,OFFSET SOURCE (DS:SI = source addr) (x86 real mode addressing)
  MOV  DI,OFFSET DESTINATION (ES:DI = destination address)
  MOV  CX,SIZE
  REPZ MOVSB
&lt;/pre&gt;&lt;br /&gt;
That's your standard .asm memory copy for x86.&lt;br /&gt;
Maybe others can add more to this...&lt;br /&gt;
&lt;br /&gt;
Bitdog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/x86_asm/220851/220854/re-memcpy-procedure-for-80188-embedded-system/#220854</guid>
      <pubDate>Wed, 29 Oct 2003 10:26:57 -0700</pubDate>
      <category>x86 Assembly</category>
    </item>
    <item>
      <title>Re: Memcpy procedure for 80188 embedded system</title>
      <link>http://www.programmersheaven.com/mb/x86_asm/220851/221207/re-memcpy-procedure-for-80188-embedded-system/#221207</link>
      <description>: : Hi, I need to write a "memcpy" procedure in assembly&lt;br /&gt;
: &lt;br /&gt;
: &lt;pre class="sourcecode"&gt;
:   MOV  SI,OFFSET SOURCE (DS:SI = source addr) (x86 real mode addressing)
:   MOV  DI,OFFSET DESTINATION (ES:DI = destination address)
:   MOV  CX,SIZE
:   REPZ MOVSB
: &lt;/pre&gt;&lt;br /&gt;
: That's your standard .asm memory copy for x86.&lt;br /&gt;
: Maybe others can add more to this...&lt;br /&gt;
: &lt;br /&gt;
: Bitdog&lt;br /&gt;
: &lt;br /&gt;
: &lt;br /&gt;
: &lt;br /&gt;
Most compilers have a commandline switch that will output their assembly code generation to a file; the best compilers, however, generate AT&amp;amp;T syntax. Borland's free commandline C++ 5.5 outputs assembly by specifying -s, for example. It's output is not always as high-quality as some of the UNIX-ported compilers, most notably, LCC (Little C Compiler, Navia, &lt;a href="http://www.cs.virginia.edu/~lcc-win32/"&gt;http://www.cs.virginia.edu/~lcc-win32/&lt;/a&gt; ), which only generates AT&amp;amp;T syntax.&lt;br /&gt;
&lt;br /&gt;
Obviously, the programmers of UNIX knew there were shift and caps lock keys, since the name UNIX is capitalized.  From then on in, they seemed oblivious to them.&lt;br /&gt;
&lt;br /&gt;</description>
      <guid isPermaLink="true">http://www.programmersheaven.com/mb/x86_asm/220851/221207/re-memcpy-procedure-for-80188-embedded-system/#221207</guid>
      <pubDate>Thu, 30 Oct 2003 15:36:34 -0700</pubDate>
      <category>x86 Assembly</category>
    </item>
  </channel>
</rss>