=== ================== ===
=== Cmp – Compare to A ===
=== ================== ===

Format
110.bbb.01

Description
The specified contents are substracted from A. The result is not stored, but the flags NZC are condi-
tioned, depending on whether the result is positive, null or negative. The value of the accumulator is
not changed. Z is set by an equality, reset otherwise; N is set by the sign bit; C is set when A>=M.
Cmp is usually followed by a branch: Bcc detects A<M, Beq detects A=M, Bcs detects A>=M, and Beq
followed by Bcs detects A>M.

Addressing Modes
┌─────────┬────────────┬──────────┬─────────────┬─────┬─────┬────────────────┬────────────────┐
│ Imm     │ 110.010.01 │ c9 ab    │ Cmp #ab     │ bbb │ #2  │ 1100.0001 = c1 │ 0000.1000 = 08 │
│ Zpg     │ 110.001.01 │ c5 ab    │ Cmp   ab    │ bbb │ #3  │ 1100.0001 = c1 │ 0000.0100 = 04 │
│ Abs     │ 110.011.01 │ cd cd ab │ Cmp abcd    │ bbb │ #4  │ 1100.0001 = c1 │ 0000.1100 = 0c │
│ Zpg,x   │ 110.101.01 │ d5 ab    │ Cmp   ab,x  │ bbb │ #4  │ 1100.0001 = c1 │ 0001.0100 = 14 │
│ Abs,x   │ 110.111.01 │ dd cd ab │ Cmp abcd,x  │ bbb │ #4* │ 1100.0001 = c1 │ 0001.1100 = 1c │
│ Abs,y   │ 110.110.01 │ d9 cd ab │ Cmp abcd,y  │ bbb │ #4* │ 1100.0001 = c1 │ 0001.1000 = 18 │
│ *IDZ*   │ 110.100.10 │ d2 ab    │ Cmp  (ab)   │ --- │ #5  │ 1100.0010 = c2 │ 0001.0000 = 10 │
│ (Zpg,x) │ 110.000.01 │ c1 ab    │ Cmp  (ab,x) │ bbb │ #6  │ 1100.0001 = c1 │ 0000.0000 = 00 │
│ (Zpg),y │ 110.100.01 │ d1 ab    │ Cmp  (ab),y │ bbb │ #5* │ 1100.0001 = c1 │ 0001.0000 = 10 │
└─────────┴────────────┴──────────┴─────────────┴─────┴─────┴────────────────┴────────────────┘

Result
    ┌───────────┐
    │    A?M    │
    ├───┬───┬───┤
    │ > │ = │ < │
┌───┼───┼───┼───┤
│ N │ 0 │ 0 │ 1 │
│ Z │ 0 │ 1 │ 0 │
│ C │ 1 │ 1 │ 0 │
└───┴───┴───┴───┘

┌──────┬────┬─────┐
│ N==0 │ >= │ Bpl │
│ N==1 │ <  │ Bmi │
├──────┼────┼─────┤
│ Z==0 │ != │ Bne │
│ Z==1 │ == │ Beq │
├──────┼────┼─────┤
│ C==0 │ <  │ Bcc │
│ C==1 │ >= │ Bcs │
└──────┴────┴─────┘

Flags
NV-BDIZC
• -   ••

Fehlerhinweise, Kommentare und Anregungen sind mir herzlich willkommen.

Letzte Aktualisierung: 2017-02-23