<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://home.roboticlab.eu/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://home.roboticlab.eu/feed.php">
        <title>Robotic &amp; Microcontroller Educational Knowledgepage - Network of Excellence - en:multiasm:papc</title>
        <description></description>
        <link>https://home.roboticlab.eu/</link>
        <image rdf:resource="https://home.roboticlab.eu/_media/wiki/logo.png" />
       <dc:date>2026-04-04T17:06:57+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_1?rev=1766058252&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_2?rev=1746015245&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_3?rev=1775041421&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_4?rev=1774799411&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_5?rev=1772149428&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_6?rev=1771526917&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_7?rev=1775042010&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_8?rev=1772149684&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_9?rev=1772153411&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_10?rev=1771406975&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_11?rev=1772152805&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_12?rev=1772151006&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_13?rev=1771575321&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_14?rev=1763464105&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_15?rev=1771580948&amp;do=diff"/>
                <rdf:li rdf:resource="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_16?rev=1763813939&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://home.roboticlab.eu/_media/wiki/logo.png">
        <title>Robotic & Microcontroller Educational Knowledgepage - Network of Excellence</title>
        <link>https://home.roboticlab.eu/</link>
        <url>https://home.roboticlab.eu/_media/wiki/logo.png</url>
    </image>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_1?rev=1766058252&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-18T11:44:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Evolution of x86 Processors</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_1?rev=1766058252&amp;do=diff</link>
        <description>Evolution of x86 Processors

The evolution of x86 processors began with the Intel 8086 microprocessor introduced in 1978. It is worth noting that the first IBM machines, the IBM PC and IBM XT, used the cheaper 8088 processor with an 8-bit data bus. The 8088 was software compatible with the 8086, but due to the use of an 8-bit external data bus, it allowed for a reduction in the overall computer cost. IBM later used the 8086 processors in personal computers named PS/2. Its successor, 80286, was u…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_2?rev=1746015245&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-04-30T12:14:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Specific Elements of the x86 and x64 Architectures</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_2?rev=1746015245&amp;do=diff</link>
        <description>Specific Elements of the x86 and x64 Architectures

The x86 architecture was created in the late 70th years of XX century. The technology available at that time didn&#039;t allow for implementing advanced integrated circuits containing millions of transistors in one silicon die. The 8086, the first processor in the whole family of x86, required additional supporting elements to operate. This led to the necessity of making some decisions about the compromise between efficiency, computational possibili…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_3?rev=1775041421&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-01T11:03:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Register Set</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_3?rev=1775041421&amp;do=diff</link>
        <description>Register Set

As x86 processors evolved, the set of available registers and their size expanded. Newer processors added more general-purpose registers, and new registers related to the FPU and vector extensions were added. In this chapter, we discuss the registers available to the programmer, from the 8086 up to modern 64-bit processors.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_4?rev=1774799411&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-29T15:50:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Data Types and Encoding</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_4?rev=1774799411&amp;do=diff</link>
        <description>Data Types and Encoding

The x86 family of processors allows for computations on integer, floating-point, and vector data. This data is stored in memory as binary strings of varying lengths. In this chapter, we will present fundamental data types, as well as the types based on them found in assembly language programs.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_5?rev=1772149428&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-26T23:43:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Addressing Modes in Instructions</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_5?rev=1772149428&amp;do=diff</link>
        <description>Addressing Modes in Instructions

Addressing mode specifies how the processor reaches the data in the memory. The x86 architecture implements immediate, direct and indirect memory addressing. Indirect addressing can use a single or two registers and a constant to calculate the final address. 
In 16-bit mode, only four registers can be used for indirect addressing: BX, BP, SI and DI.
In 32-bit mode, the choice of the register for addressing is much more flexible and addressing is enhanced with th…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_6?rev=1771526917&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-19T18:48:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Principles of Instructions Encoding</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_6?rev=1771526917&amp;do=diff</link>
        <description>Principles of Instructions Encoding

In x86 processors, instructions are encoded using varying numbers of bytes. Some instructions are encoded in just a single byte, others require several bytes, and some are as long as 15 bytes. In general, instructions are composed with some fields as presented in figure</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_7?rev=1775042010&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-01T11:13:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Instruction Set of x64 - Essentials</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_7?rev=1775042010&amp;do=diff</link>
        <description>Instruction Set of x64 - Essentials

The x64 processors can execute an extensive number of different instructions. As processors have evolved, the instruction set has expanded from the initial 117 in the 8086 processor to over 1000 in modern 64-bit designs. In this chapter, we present the instruction groups and a description of essential instructions called general-purpose instructions.</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_8?rev=1772149684&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-26T23:48:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Procedures, Functions and Calls in Windows and Linux</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_8?rev=1772149684&amp;do=diff</link>
        <description>Procedures, Functions and Calls in Windows and Linux

The procedure is a separate fragment of the code that can be called from another part of the program. The function is similar to a procedure, but it also returns a result when it is finished. Procedures and functions are standalone elements. In object-oriented programming, a function which is a member of a class or object is named a method. 
The name depends on the programming language. In assembler, the common name for a separate fragment of…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_9?rev=1772153411&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-27T00:50:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Compatibility with HLL Compilers (C++, C#) and Operating Systems</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_9?rev=1772153411&amp;do=diff</link>
        <description>Compatibility with HLL Compilers (C++, C#) and Operating Systems

The integration of assembler code with applications written in high-level languages brings benefits in particular scenarios, such as implementing complex mathematical algorithms and real-time tasks that require efficient, compact code. No one uses an assembler to implement a graphical user interface (</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_10?rev=1771406975&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-18T09:29:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>FPU</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_10?rev=1771406975&amp;do=diff</link>
        <description>FPU

The Floating Point Unit is developed to speed up calculations on real numbers, encoded in a computer as floating-point numbers. At the beginning of the x86 processors&#039; history, the FPU was a separate integrated circuit. Since the i486DX, it has been introduced as a standard element of each processor. The FPU operates on single, double or extended precision values, using its own set of registers and instructions. For details about FPU registers, please refer to the section</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_11?rev=1772152805&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-27T00:40:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MMX, SSE and AVX Extensions</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_11?rev=1772152805&amp;do=diff</link>
        <description>MMX, SSE and AVX Extensions

At some point of personal computers&#039; evolution, it became clear that they would be used not only for professional use, for example, in companies, financial institutions, and education, but also would be used as centres of home entertainment systems, enabling users to play games, watch videos, and listen to music. This led to empowering processors with the ability to process multimedia data. As the stereo sound has the form of a series of samples, and pictures are oft…</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_12?rev=1772151006&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-27T00:10:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MASM Basics</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_12?rev=1772151006&amp;do=diff</link>
        <description>MASM Basics

An assembler, understood as software that translates assembler source code into machine code, can be implemented in various ways. While the processor&#039;s instructions remain constant, other language elements may be implementation-specific. In this chapter, we present the most important language elements specific to the MASM assembly implementation. For a detailed description of MASM assembler language implementation, please refer to the Microsoft© website</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_13?rev=1771575321&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-20T08:15:21+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Macros</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_13?rev=1771575321&amp;do=diff</link>
        <description>Macros

Macros are elements of language that enable the replacement of one, usually shorter text, with another. In different assemblers (NASM, FASM), macros can be implemented differently.  The syntax can differ, but the idea remains the same. In this chapter, we&#039;ll present the MASM implementation. There are a few types of macros in MASM:</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_14?rev=1763464105&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-18T11:08:25+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Energy Efficient Programming</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_14?rev=1763464105&amp;do=diff</link>
        <description>Energy Efficient Programming

Energy-efficient programming is crucial while we consider the influence of the program execution, computation, and data processing on the amount of energy which is consumed during the process.

During computations, the processor typically consumes the majority of the energy. On average, the CPU consumes almost 90% of the energy, with the remaining energy consumed mainly by memory</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_15?rev=1771580948&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-20T09:49:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Optimisation</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_15?rev=1771580948&amp;do=diff</link>
        <description>Optimisation

Optimisation strongly depends on the microarchitecture of the processor. Some optimisation recommendations change together with new versions of processors. Producers usually publish the most up-to-date recommendations. The last release of the Intel documentation is</description>
    </item>
    <item rdf:about="https://home.roboticlab.eu/en/multiasm/papc/chapter_6_16?rev=1763813939&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-22T12:18:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Optimisation</title>
        <link>https://home.roboticlab.eu/en/multiasm/papc/chapter_6_16?rev=1763813939&amp;do=diff</link>
        <description>Optimisation

Optimisation strongly depends on the microarchitecture of the processor. Some optimisation recommendations change together with new versions of processors. Producers usually publish the most up-to-date recommendations. The last release of the Intel documentation is</description>
    </item>
</rdf:RDF>
