63.8.2. Logické operace

Odkazy:

Příklad 63.5. Logický součet (OR) pro PDP-8

        / AC ∨ M → AC
        / De Morgan Law
	/ AC ∨ M ≡ ¬(¬AC ∧ ¬M)
        CMA             / ¬AC→AC
        DCA     TMP     / AC→TMP
        TAD     M       / (AC is zero from DCA) 0+M→AC
        CMA             / ¬AC→AC
        AND     TMP     / ¬M ∧ ¬TMP → AC
        CMA             / ¬(¬M ∧ ¬AC) ≡ M or AC → AC

Příklad 63.6. Exclusive OR pro PDP-8

        / a xor b = (a+b) - 2*(a and b)
        DCA     TMP
        TAD     TMP
        AND     M
        CMA IAC
        CLL RAL
        TAD     TMP
        TAD     M

Optimalizovaný kód pro výpočet XOR založený na vzorci:

A xor B = A + B - 2*(A and B)

Příklad 63.7. Exlusivní logický součet XOR, pro PDP-8

    1             / File: db/pdp8.code/xor.pal  -*- mode:asm; -*-
    2             / From: http://www.grc.com/pdp-8/isp-musings.htm
    3
    4       0400          *0400
    5
    6 00400 7200          CLA             / Load AC with ArgOne
    7 00401 1207          TAD ArgOne      /+
    8 00402 0210          AND ArgTwo      / Add ArgTwo. AC is ArgOne + ArgTwo
    9 00403 7104          CLL RAL
   10 00404 7041          CMA IAC
   11 00405 1207          TAD ArgOne
   12 00406 1210          TAD ArgTwo
   13
   14 00407 0000  ArgOne, 0
   15 00410 0000  ArgTwo, 0
   16                     $

      No detected errors
Licence Creative Commons
Elektronika a počítače, jejímž autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .