Untersuchen sie untenstehende ALU mit nebenstehender Arithmetrischen Einheit!


Arithmetische Einheit mit Beschaltung am Eingang


ALU mit Beschaltung am Ausgang

  1. a) Was bewirkt der folgende Maschinenbefehl

    S0

    S1

    S2

    S3

    Cin

    M

    A0

    A1

    A2

    A3

    B0

    B1

    B2

    B3

    0

    0

    1

    1

    0

    0

    1

    1

    0

    0

    0

    0

    1

    0


    \( S = A + B \)

    b) Welches Ergebnis steht im Akku und welchen Wert hat Cout?

    Vorsicht! LSB und MSB sind in der Reihenfolge vertauscht!

       0 0 1 1
    + 0 1 0 0
    0 1 1 1
    Das Ergebnis  ist 7 (dezimal). Kein Überlauf! Cout = 0

    S0

    S1

    S2

    S3

    Cout

      1

      1

      1

      0

     0



    c) Wie könnte der dazugehörige Assemblerbefehl lauten?

    ADD 3, 4

  2. a) Wie lautet der Maschinenbefehl für den folgenden Assemblerbefehl?

    SUB 2, 3

    S0

    S1

    S2

    S3

    Cin

    M

    A0

    A1

    A2

    A3

    B0

    B1

    B2

    B3

    1

    0

    1

    1

    1

    0

    0

    1

    0

    0

    1

    1

    0

    0


    \( S = A + \overline{B} + 1 = A - B \)

    b) Welches Ergebnis steht im Akku und welchen Wert hat Cout?

      0 0 1 0                    0 0 1 0
    - 0 0 1 1 ↔ + 1 1 0 0 (invertiert)
    + 1 (Cin)
    1 1 1 1


    S0

    S1

    S2

    S3

    Cout

     1

     1

     1

     1

     0



    Höchstwertigstes Bit S3 = 1   =>   negative Zahl
    Der Betrag wird berechnet durch:
    \( |A|= \overline{-A} +1 \)

      0 0 0 0
    + 1
    1
    Das Ergebnis ist also -1 dezimal.

Last modified: Friday, 13 September 2019, 11:15 AM