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.
OffsetDirekt X
~
+
#
IndirektX
~
+
#
AssemblerPostbyte (Hex) AssemblerPostbyte (Hex)
1kein Offset ,X8400 [,X]9430
25-Bit* n,X000nnnnn10 8-Bit Offset benutzen --
38-Bit n,X8811 [n,X]9841
416-Bit n,X8942 [n,X]9972
5A-Register A,X8610 [A,X]9640
6B-Register B,X8510 [B,X]9540
7D-Register D,X8B40 [D,X]9B70
8Inc. um1 ,X+8020 nicht erlaubt- -
9Inc. um 2 ,X++8130 [,X++]9160
10Dec. um 1 ,-X8220 nicht erlaubt- -
11Dec. um 2 ,--X8330 [,--X]9360
12PCR 8-Bit n,PCR8C 1)1 1[n,PCR]9C 2) 41
13PCR 16-Bit n,PCR8D 1)5 2[n,PCR]9D 2) 82
14 Extended
Indirekt
-- --[n] 9F 2)52

*) 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.
OffsetDirekt X
~
+
#
IndirektX
~
+
#
AssemblerPostbyte (Hex) AssemblerPostbyte (Hex)
1 kein Offset,YA4 00[,Y]B4 30
25-Bit* n,Y001nnnnn10 8-Bit Offset benutzen --
38-Bit n,YA811 [n,Y]B841
416-Bit n,YA942 [n,Y]B972
5A-Register A,YA610 [A,Y]B640
6B-Register B,YA510 [B,Y]B540
7D-Register D,YAB40 [D,Y]BB70
8Inc. um1 ,Y+A020 nicht erlaubt- -
9Inc. um 2 ,Y++A130 [,Y++]B160
10Dec. um 1 ,-YA220 nicht erlaubt- -
11Dec. um 2 ,--YA330 [,--Y]B360
12PCR 8-Bit n,PCRAC 1)1 1[n,PCR] BC 2)41
13PCR 16-Bit n,PCRAD 1)5 2[n,PCR]BD 2) 82
14 Extended
Indirekt
-- --[n] BF 2)52

*) 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.
OffsetDirekt X
~
+
#
IndirektX
~
+
#
AssemblerPostbyte (Hex) AssemblerPostbyte (Hex)
1kein Offset ,SE400 [,S]F430
25-Bit* n,S011nnnnn10 8-Bit Offset benutzen --
38-Bit n,SE811 [n,S]F841
416-Bit n,SE942 [n,S]F972
5A-Register A,SE610 [A,S]F640
6B-Register B,SE510 [B,S]F540
7D-Register D,SEB40 [D,S]FB70
8Inc. um1 ,S+E020 nicht erlaubt- -
9Inc. um 2 ,S++E130 [,S++]F160
10Dec. um 1 ,-SE220 nicht erlaubt- -
11Dec. um 2 ,--SE330 [,--S]F360
12PCR 8-Bit n,PCREC 1)1 1[n,PCR]FC 2) 41
13PCR 16-Bit n,PCRED 1)5 2[n,PCR] FD 2)82
14 Extended
Indirekt
-- --[n] FF 2)52

*) 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.
OffsetDirekt X
~
+
#
IndirektX
~
+
#
AssemblerPostbyte (Hex) AssemblerPostbyte (Hex)
1 kein Offset,UC4 00[,U]D4 30
25-Bit* n,U010nnnnn10 8-Bit Offset benutzen --
38-Bit n,UC811 [n,U]D841
416-Bit n,UC942 [n,U]D972
5A-Register A,UC610 [A,U]D640
6B-Register B,UC510 [B,U]D540
7D-Register D,UCB40 [D,U]DB70
8Inc. um1 ,U+C020 nicht erlaubt- -
9Inc. um 2 ,U++C130 [,U++]D160
10Dec. um 1 ,-UC22 0nicht erlaubt --
11Dec. um 2 ,--UC330 [,--U]D360
12PCR 8-Bit n,PCRCC 1) 11[n,PCR]DC 2)41
13PCR 16-Bit n,PCRCD 1)5 2[n,PCR]DD 2) 82
14 Extended
Indirekt
-- --[n] DF 2)52

*) 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*YX DPBACC

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

2.
Befehle TFR und EXG
b7 b6 b5 b4 b3 b2 b1 b0
Quellregister-CodeZielregister-Code

Code siehe Tabelle A-5

3.
indizierte Adressierung
kein 5-bit-Offset
b7 b6 b5 b4 b3 b2 b1 b0
1rrd/i Adressierungsart

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

5-bit-Offset
b7 b6 b5 b4 b3 b2 b1 b0
0rrn nnnn

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
RegisterBinärcode Hex-Coderr-Code
D 00000 
X 0001100
Y 0010201
U 0011310
S 0100411
PC 01015 
A 10008 
B 10019 
CC 1010A 
DP 1011B 


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