| 1.4 Anleitung zur Lösung der Übungsaufgaben |  | B: Befehle (alphab.), Branch-Befehle |

## Anhang A

Tabelle A-1: Code für die indizierte Adressierung mit dem X-Register
Lfd. Nr. | Offset | Direkt | X ~ | + # | Indirekt | X ~ | + #
Assembler | Postbyte (Hex) | Assembler | Postbyte (Hex)
1 | kein Offset | ,X | 84 | 0 | 0 | [,X] | 94 | 3 | 0
2 | 5-Bit* | n,X | 000nnnnn | 1 | 0 | 8-Bit Offset benutzen | - | -
3 | 8-Bit | n,X | 88 | 1 | 1 | [n,X] | 98 | 4 | 1
4 | 16-Bit | n,X | 89 | 4 | 2 | [n,X] | 99 | 7 | 2
5 | A-Register | A,X | 86 | 1 | 0 | [A,X] | 96 | 4 | 0
6 | B-Register | B,X | 85 | 1 | 0 | [B,X] | 95 | 4 | 0
7 | D-Register | D,X | 8B | 4 | 0 | [D,X] | 9B | 7 | 0
8 | Inc. um1 | ,X+ | 80 | 2 | 0 | nicht erlaubt | - | -
9 | Inc. um 2 | ,X++ | 81 | 3 | 0 | [,X++] | 91 | 6 | 0
10 | Dec. um 1 | ,-X | 82 | 2 | 0 | nicht erlaubt | - | -
11 | Dec. um 2 | ,--X | 83 | 3 | 0 | [,--X] | 93 | 6 | 0
12 | PCR 8-Bit | n,PCR | 8C 1) | 1 | 1 | [n,PCR] | 9C 2) | 4 | 1
13 | PCR 16-Bit | n,PCR | 8D 1) | 5 | 2 | [n,PCR] | 9D 2) | 8 | 2
14 | Extended Indirekt | - | - | - | - | [n] | 9F 2) | 5 | 2

*) Der Offset ist im Postbyte enthalten, deshalb ist das Postbyte binär dargestellt. An die Stelle nnnnn wird der Offset im Binärcode gesetzt und dann in den Hex-Code umgeformt.
1) 1. Tetrade auch: 8, A, C, E
2) 1. Tetrade auch: 9, B, D, F

Tabelle A-2: Code für die indizierte Adressierung mit dem Y-Register
Lfd. Nr. | Offset | Direkt | X ~ | + # | Indirekt | X ~ | + #
Assembler | Postbyte (Hex) | Assembler | Postbyte (Hex)
1 | kein Offset | ,Y | A4 | 0 | 0 | [,Y] | B4 | 3 | 0
2 | 5-Bit* | n,Y | 001nnnnn | 1 | 0 | 8-Bit Offset benutzen | - | -
3 | 8-Bit | n,Y | A8 | 1 | 1 | [n,Y] | B8 | 4 | 1
4 | 16-Bit | n,Y | A9 | 4 | 2 | [n,Y] | B9 | 7 | 2
5 | A-Register | A,Y | A6 | 1 | 0 | [A,Y] | B6 | 4 | 0
6 | B-Register | B,Y | A5 | 1 | 0 | [B,Y] | B5 | 4 | 0
7 | D-Register | D,Y | AB | 4 | 0 | [D,Y] | BB | 7 | 0
8 | Inc. um1 | ,Y+ | A0 | 2 | 0 | nicht erlaubt | - | -
9 | Inc. um 2 | ,Y++ | A1 | 3 | 0 | [,Y++] | B1 | 6 | 0
10 | Dec. um 1 | ,-Y | A2 | 2 | 0 | nicht erlaubt | - | -
11 | Dec. um 2 | ,--Y | A3 | 3 | 0 | [,--Y] | B3 | 6 | 0
12 | PCR 8-Bit | n,PCR | AC 1) | 1 | 1 | [n,PCR] | BC 2) | 4 | 1
13 | PCR 16-Bit | n,PCR | AD 1) | 5 | 2 | [n,PCR] | BD 2) | 8 | 2
14 | Extended Indirekt | - | - | - | - | [n] | BF 2) | 5 | 2

*) Der Offset ist im Postbyte enthalten, deshalb ist das Postbyte binär dargestellt. An die Stelle nnnnn wird der Offset im Binärcode gesetzt und dann in den Hex-Code umgeformt.
1) 1. Tetrade auch: 8, A, C, E
2) 1. Tetrade auch: 9, B, D, F

Tabelle A-3: Code für die indizierte Adressierung mit dem S-Register
Lfd. Nr. | Offset | Direkt | X ~ | + # | Indirekt | X ~ | + #
Assembler | Postbyte (Hex) | Assembler | Postbyte (Hex)
1 | kein Offset | ,S | E4 | 0 | 0 | [,S] | F4 | 3 | 0
2 | 5-Bit* | n,S | 011nnnnn | 1 | 0 | 8-Bit Offset benutzen | - | -
3 | 8-Bit | n,S | E8 | 1 | 1 | [n,S] | F8 | 4 | 1
4 | 16-Bit | n,S | E9 | 4 | 2 | [n,S] | F9 | 7 | 2
5 | A-Register | A,S | E6 | 1 | 0 | [A,S] | F6 | 4 | 0
6 | B-Register | B,S | E5 | 1 | 0 | [B,S] | F5 | 4 | 0
7 | D-Register | D,S | EB | 4 | 0 | [D,S] | FB | 7 | 0
8 | Inc. um1 | ,S+ | E0 | 2 | 0 | nicht erlaubt | - | -
9 | Inc. um 2 | ,S++ | E1 | 3 | 0 | [,S++] | F1 | 6 | 0
10 | Dec. um 1 | ,-S | E2 | 2 | 0 | nicht erlaubt | - | -
11 | Dec. um 2 | ,--S | E3 | 3 | 0 | [,--S] | F3 | 6 | 0
12 | PCR 8-Bit | n,PCR | EC 1) | 1 | 1 | [n,PCR] | FC 2) | 4 | 1
13 | PCR 16-Bit | n,PCR | ED 1) | 5 | 2 | [n,PCR] | FD 2) | 8 | 2
14 | Extended Indirekt | - | - | - | - | [n] | FF 2) | 5 | 2

*) Der Offset ist im Postbyte enthalten, deshalb ist das Postbyte binär dargestellt. An die Stelle nnnnn wird der Offset im Binärcode gesetzt und dann in den Hex-Code umgeformt.
1) 1. Tetrade auch: 8, A, C, E
2) 1. Tetrade auch: 9, B, D, F

Tabelle A-4: Code für die indizierte Adressierung mit dem U-Register
Lfd. Nr. | Offset | Direkt | X ~ | + # | Indirekt | X ~ | + #
Assembler | Postbyte (Hex) | Assembler | Postbyte (Hex)
1 | kein Offset | ,U | C4 | 0 | 0 | [,U] | D4 | 3 | 0
2 | 5-Bit* | n,U | 010nnnnn | 1 | 0 | 8-Bit Offset benutzen | - | -
3 | 8-Bit | n,U | C8 | 1 | 1 | [n,U] | D8 | 4 | 1
4 | 16-Bit | n,U | C9 | 4 | 2 | [n,U] | D9 | 7 | 2
5 | A-Register | A,U | C6 | 1 | 0 | [A,U] | D6 | 4 | 0
6 | B-Register | B,U | C5 | 1 | 0 | [B,U] | D5 | 4 | 0
7 | D-Register | D,U | CB | 4 | 0 | [D,U] | DB | 7 | 0
8 | Inc. um1 | ,U+ | C0 | 2 | 0 | nicht erlaubt | - | -
9 | Inc. um 2 | ,U++ | C1 | 3 | 0 | [,U++] | D1 | 6 | 0
10 | Dec. um 1 | ,-U | C2 | 2 | 0 | nicht erlaubt | - | -
11 | Dec. um 2 | ,--U | C3 | 3 | 0 | [,--U] | D3 | 6 | 0
12 | PCR 8-Bit | n,PCR | CC 1) | 1 | 1 | [n,PCR] | DC 2) | 4 | 1
13 | PCR 16-Bit | n,PCR | CD 1) | 5 | 2 | [n,PCR] | DD 2) | 8 | 2
14 | Extended Indirekt | - | - | - | - | [n] | DF 2) | 5 | 2

*) Der Offset ist im Postbyte enthalten, deshalb ist das Postbyte binär dargestellt. An die Stelle nnnnn wird der Offset im Binärcode gesetzt und dann in den Hex-Code umgeformt.
1) 1. Tetrade auch: 8, A, C, E
2) 1. Tetrade auch: 9, B, D, F

1.

Befehle PUSH und PULL
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0
PC | * | Y | X | DP | B | A | CC

PSHS/PULS: * = U PSHU/PULU: * = S

2.

Befehle TFR und EXG
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0
Quellregister-Code | Zielregister-Code

Code siehe Tabelle A-5

3.

indizierte Adressierung
kein 5-bit-Offset
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0
1 | r | r | d/i | Adressierungsart

d/i=0: direkt, d/i=1: indirekt

5-bit-Offset
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0
0 | r | r | n | n | n | n | n

nnnnn: 5-bit-Offset im Zweierkomplement

Bild A-1: Der Aufbau des Postbytes

Tabelle A-5: Codierung der Register für die Befehle TFR und EXG
Register | Binärcode | Hex-Code | rr-Code
D | 0000 | 0 |
X | 0001 | 1 | 00
Y | 0010 | 2 | 01
U | 0011 | 3 | 10
S | 0100 | 4 | 11
PC | 0101 | 5 |
A | 1000 | 8 |
B | 1001 | 9 |
CC | 1010 | A |
DP | 1011 | B |

| 1.4 Anleitung zur Lösung der Übungsaufgaben |  | B: Befehle (alphab.), Branch-Befehle |