Anhang A1 A2 A3 A4 A5 A6 A7 A8 A9

Anhang A1 A2 A3 A4 A5 A6 A7 A8 A9 ~ 6502-Befehlssatz Befehlsausfuhrungszeiten beim /-IP 6502 Prellfreier Schalter fur Interruptauslosung an Port A7 ...
Author: Lorenz Grosser
1 downloads 0 Views 2MB Size
Anhang A1 A2 A3 A4 A5 A6 A7 A8 A9

~

6502-Befehlssatz Befehlsausfuhrungszeiten beim /-IP 6502 Prellfreier Schalter fur Interruptauslosung an Port A7 des /-IC ALPHA 1 i 9900-Befehlssatz Tabelle der durch die 9900-Befehle beeinflu~ten Prozessor-Statusbits I Befehlsausfuhrungszeiten beim /-IP 9980A Anschlu~belegung der Stiftleiste P5 auf der Computerplatine TM 990/189 I Monitor-Kommandos des Computers TM 990/189 (Unibug Commands) 7-Bit-Code nach DIN 66003 (auch: ASCII-Code)

Fu~noten

(1) (2)

zu Seite 221 (A 1):

Wenn im Dezimal-Modus gearbeitet wird, ist die Z-Flag ungultig. Es auf "Null" gepriift werden "Carry nicht" bedeutet: Borgebit (borrow)

mu~

dann der Akkumulator

Das Prozessor-Statusregister ist in 2.1 (Transferbefehle) mit Bild 2_1.6 erliiutert.

220

A 1 6502-Befehlssatz >x >--~ x,,- x >-2l.,,g> 2i x c. E .!! '" '" '>" tJ c.g> " "2" ~" ~ '0~ e E "2 e " Q. ." ." e '" E « N'" «"" E " -= N" « « a:'" -= N

.. ~ 2l

Adressierungsarten

2l

'" 8:.'"

~

:;

",-

."

)(

Q)

~

~

Bytes

2

3

2

1

Instruktion MneOperation monisch

AOC ANO ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLO CLI CLV CMP CPX CPY OEC OEX OEY EOR INC INX INY JMP JSR LOA LOX LOY LSR NOP ORA PHA PHP PLA PLP ROL

A+M+C-+A 11) AIIM-+A C+-~ X X->A X->S Y-+A

1

2

2

2

~

~

3

3

Q)

2

3

2

76543210 NV-BOIZC

Hexadezimalcodes 61 71 21 31

69 60 65 29 20 25 OE 06 OA

ProzessorStatus

75 70 79 35 30 39 16 IE

NV . . . . ZC N . . . . . Z. N .. · . .ZC

.. .. .

90 BO FO 2C 24

M,Ms ·

30 00 10

.1.1. 50 70

· . ...

...

18 08 58 B8

· .0. .0. · . N. · .. ZC N. · .. ZC N . . . . . ZC N. · . · Z. N. · . · Z. N. · . · Z. N. · . · Z. N. · . · Z. N. · . · Z. N. .. Z.

06 OE CA 88 41

51

55 50 59 F6 FE

E8

CB 4C 20 A9 AO A2 AE AO AC 4E

6C Al Bl B5 BO B9 BE B4 BC 56 5E

A5 A6 A4 46 4A EA

09 00 05

.0

.0.

Cl 01 05 00 09

49 40 45 EE E6

· Z.

. . · . .. . · .

00

C9 CO C5 EO EC E4 CO CC C4 CE C6

· .. · ..

...

01

11

....

· . · .

....

N.

.. Z.

B6 N . . . . . Z. N. · . · Z. O. · . · ZC

.

· . · .. · . · Z-. · . ...... · ..... ·

15 10 19

N.

2E 26 2A

36 3E

N . . . . . Z. IRESTORED) N . . . . . ZC

6E 66 6A

76 7E

N ..... Z C

48 08 68 28

40 60 E9 EO E5

IRESTORED) El Fl

F5 FO F9

81

95 90 99

..

3B FB 78 80 85 8E 86 BC 84

91

.

·. ·. ·. ·.

96 94 AA A8 BA 8A 9A 98

· . ...

NV. · .. Z 12) .... 1 .1 . . . .1 ..

· .

· .

N. · . · Z. N .. · . · Z. N. · . · Z. N .. · . · Z.

.. . · . ... · . · Z.

N ..

221

A2 Befehlsausfiihrungszeiten beirn J.l.P 6502 Diese Tabelle gibt fiir aile Adressierungsarten die Anzahl der notigen Prozessor-Zyklustakte an. Bei Kenntnis der Taktfrequenz ergeben sich daraus direkt die Befehlsausfiihrungszeiten. In der Standardversion "Iaufen" die Prozessoren 6502 mit 1 MHz; d.h. die angegebenen Zyklustakte geben dann direkt die Ausfiihrungszeiten in Mikrosekunden an.

...u

x>-

5

1O~Q)Q)Q)

X

Ol'

X >-"E

>-

... ... ...

g' g' ~ Ol EijlQ.Q.Q. :J :J B E 0 0 0 Si Si ~ E a; ~ ~ ..c ..c -=;.~

.~

Ol'

:J

""C

.!!:!

*) **)

222

2 3 4 2 3 4 2 5 6

> .;;

Si Qj ..c c. E '"

_NNN « « «

ADC AND ASL BCC BCS BEQ BIT BMI BNE BPL BRK BVC BVS CLC CLD CLI CLV CMP CPX CPY DEC DEX DEY EOR INC INX INY JMP

Ol

0:

4 4* 4* 4 4* 4* 6 7

1:)' -;:; U Ol

:::::«

6 5"

6 5*

4 2** 2** 2** 2** 2*' 2 2 2 2

2 3 4 2 3 2 3 5 6

4 4* 4* 4 4 6 7

6 5*

2 2 2 3 4 5 6

4 4* 4* 6 7

6 5 2 2

3

:J

.~ .!::: "0 ""C ""C .. c: c:..c

2** 2** 2**

3

Ol

...

JSR LDA LDX LDY LSR NOP ORA PHA PHP PLA PLP ROL ROR RTI RTS SBC SEC SED SEI STA STX* STY** TAX TAY TSX TXA TXS 5 TYA

1:)

B...

~

:J

Ol

.!!!

x>8, ~ ~ ~

X

...

Ol'

~~~~ :J U E ~ Si u E Q) OJ Q) ..c ..c

E :J

«

""C Ol

eee

>-

~' :J

Si ..c

NNN« « «

""Cl QJ

CD .~ ~

:.: 0._

E

Ol

_0:

6 2 3 4 4 4* 4* 4* 4 4 2 3 4 4* 2 3 4 2 5 6 6 7

.~ c:

X >-

""C

1:)'

~

"E

.~ .~

""C

c

""C

c

:J

0

Ii

«

6 5"

2 2 3 4

4 4*

6 5*

4"

3 3 4 4 2 2

5 6 5 6

6 7 6 7 6 6

2 3 4

4 4* 4*

6 5* 2 2 2

3 4 4 5 3 4 4 4 3 4

6 6

5

2 2 2 2 2 2

Wenn durch Indizierung die "Seitengrenze" (page boundary) uberschritten wird, muB ein Zyklus hinzugeziihlt werden. Ein Zyklus ist zu addieren, wenn eine Verzweigung auftritt; ein zweiter muB addiert werden, wenn dabei eine Seitengrenze iiberschritten wird.

A3 Prellfreier Schalter fur Interrupt-Auslosung am J-lC ALPHA 1 Solch ein Schalter ist notig, wenn bei Obungen zur Interruptverarbeitung - z.B. in 2.3, Sprungbefehleeindeutige Schaltflanken zu erzeugen sind.

"Low" an PA7

"HIGH" an PA7

PA7 1/27400

Stiftbelegung am "ApplikationsanschluB": Stift 8 - PA7 Stift 10 - Masse (GND) Stift 20 - Vee (5 Volt)

A4 9900-Befehlssatz I nstrukt ionen hexamne· monisch dezimal

beein· Format fluBte Statusbits

A AB ABS AI ANDI

AOOO BOOO 0740 0220 0240

1 1 6 8 8

0-4 0-5 0-2 0-4 0-2

B BL BLWP C CB

0440 0680 0400 8000 9000

6 6 6 1 1

-

CI CKOF CKON CLR COC

0280 03CO 03AO 04CO 2000

8 7 7 6 3

CZC DEC DECT

2400 0600 0640 3COO 0340

3 6 6 9 7

~V IDLE

Ergebnis mit Nullvergleich

X X X X X

-

0-2 0-2,5

Compare Immediate User Defined User Defined Clear Operand Compare Ones Corresponding

0-2 -

2

-

Add (word) Add (byte) Absolute Value Add Immediate AND Immediate Branch Branch and Link (R 11) Branch; New Workspace Pointer Compare (word) Compare (byte)

-

2 0-4 0-4 4

I nstruktionen

X X

Compare Zeroes Corresponding Decrement (by one) Decrement (by two) Divide Computer Idle

223

I nstruktionen mnehexamonisch dezimal

Ergebnis mit Nullvergleich

INC INCT INV JEQ JGT

0580 05CO 0540 1300 1500

6 6 6 2 2

0-4 0-4 0-2

JH JHE JL JLE JLT JMP JNC JNE JNO JOC

1BOO 1400 1AOO 1200 1100

2 2 2 2 2

-

1000 1700 1600 1900 1800

2 2 2 2 2

JOP LDCR LlMI LREX

1COO 3000 0200 0300 03EO

2 4 8 8 7

LWPI MOV MOVB MPY NEG

02EO COOO DOOO 3800 0500

8 1 1 9 6

-

0-2

X

ORI RSET RTWP S SB

0260 0360 0380 6000 7000

8 7 7 1 1

0-2 12-15 0-15 0-4 0-5

X

SBO SBZ SETO SLA SOC

1000 1EOO 0700 OAOO EOOO

2 2 6 5 1

-

SOCB SRA SRC SRL STCR

FOOO 0800 OBOO 0900 3400

STST STWP SWPB SZC SZCB TB X XOP XOR

LI

I

beeinfluBte Format Statusbits

224

X X X

-

-

-

-

0-2,5 -

X X

12-15 12-15 0-2 0-2,5

X X

-

I nstruktionen

I ncrement (by one) I ncrement (by two) Invert (One's Complement) Jump Equal (ST2;1) Jump Greater Than (Sn;1), Arithmetic Jump Jump Jump Jump Jump

High (STO;1 and ST2;0), Logical High or Equal (STO or ST2;1), Logical Low (STO and ST2;0), Logical Low or Equal (STO;O or ST2;1), Logical Less Than (ST1 and ST2;0), Arithmetic

Jump Jump Jump Jump Jump

Unconditional No Carry (ST3;0) Not Equal (ST2;0) No Overflow (ST4;0) On Carry (ST3;1)

Jump Odd Parity (ST5;1) Load CRU Load Immediate Load I nterrupt Mask I mmed iate Load and Execute Load Immediate to Workspace Pointer Move (word) Move (byte) Multiply Negate (Two's Complement)

X X

OR Immediate Reset AU Return from Context Switch Subtract (word) Subtract (byte)

0-4 0-2

X X

Set CRU Bit to One Set CRU Bit to Zero Set Ones Shift Left Arithmetic Set Ones Corresponding (word)

1 5 5 5 4

0-2,5 0-3 0-3 0-3 0-2,5

X X X X X

Set Ones Corresponding (byte) Shift Right (sign extended) Shift Right Circular Shift Right Logical Store From CRU

02CO 02AO 06CO 4000 5000

8 8 6 1 1

X X

Store Status Register Store Workspace Pointer Swap Bytes Set Zeroes Corresponding (word) Set Zeroes Corresponding (byte)

1FOO 0480 2COO 2800

2 6 9 3

2

X

Test CRU Bit Execute Extended Operation Exclusive OR

-

-

0-2 0-2,5

-

6 0-2

A5 Tabelle der durch die 9900-Befehle beeinfluBten Prozessor-Statusbits Das 9900-Prozessor-Statusregister ist in 2.1 (Transferbefehle) mit Bild 2.1.12 erliiutert. Mnemonic A AB ABS AI ANDI B BL BLWP C CB CI CLR COC CZC DEC DECT DIV IDLE INC INCT INV JEO JGT JH JHE JL JLE JLT JMP JNC JNE JNO JOC JOP (1) (2)

L>

I A> I EO I C I OV I OP IX

Mnemonic

L>

-

-

LDCR

X

-

LI

X X

X X X X

X X X X

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

X X X

X X X

-

-

-

X

-

-

-

-

-

-

-

-

-

X X

X X

X X X X

-

-

-

-

X X X

-

-

X X X X X

X X X X X

X X X X X

-

-

-

-

-

-

-

-

-

X X X

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

X X X

X X X

X X X

X X

X X

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

X X

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

LlMI LREX LWPI MOV MOVB MPY NEG ORI RSET RTWP S SB SBO SBZ SETO SLA SOC SOCB SRA SRC SRL STCR STST STWP SWPB SZC SZCB TB X XOP XOR

I A> IEO I C I OV I OP IX X X

X X

-

-

X X

X X

X X

-

-

-

-

-

1

-

-

-

-

-

-

-

-

-

-

-

X X

X X

X X

X

X

-

-

-

-

-

-

-

-

-

-

-

X X X

X X X

X X X

X X X

X X X

-

-

-

-

-

-

-

-

-

-

X X X X X X X

X X X X X X X

X X X X X X X

-

-

X

-

X X

-

X -

-

-

-

-

-

-

X

X -

-

-

-

X X X -

-

-

-

-

-

-

-

-

-

-

-

X X

X X

-

-

X X X

2 2

2 2

X

X

-

-

-

-

-

-

-

X

-

-

-

-

1

-

-

-

-

-

-

-

X

-

-

-

-

-

2 2

2 2

2 2

2 2

2 2

X

-

-

-

-

I I

-

I

Wenn durch LDCR oder STCR hiichstens 8 Bits transferiert werden, wird die OP-Flag wie bei den Byte-Instruktionen gesetzt. Die X-Instruktion selbst beeinfluBt keine Flags; die durch "X" aufgerufenen Befehle jedoch beeinflussen den Status "normal". Durch Ausfuhrung einer XOP-Operation wird die X·Flag gesetzt; die zugehiirige Subroutine setzt dann Flags entsprechend obiger Tabelle.

225

A6 Befehlsausfiihrungszeiten beim IlP 9980A In 2.4, Logik· und Schiebe·Befehle, sind am Beispiel des SWPB·Befehls Ausfuhrungszeiten berechnet worden. Die nachfolgenden Tabellen listen aile niitigen Taktzyklen fur den auf der Platine TM 990/189 arbeitenden Prozessor 9980A auf. Der Standard·Prozessor 9900 beniitigt nur etwa 2/3 dieser Takt· zyklen. AuBerdem wird er mit bis zu 4 MHz betrieben, wodurch sich die Befehlsausfuhrungszeiten er· heblich reduzieren. Die Berechnung der totalen Ausfiihrungszeit T fiir einen Befehl erfolgt nach

T=tz(Z+WM)

=

tz'[Z1 +Z2+Z3+W(M1 +M 2 +M 3 )]

Hierin sind Zykluszeit des Prozessors 9980A; auf der Platine TM 990/189 ist t z = 0,5 IlS (2 MHz); zusatzliche Speicher·Wartezyklen; es gilt W= 0 fur Speicher auf der Platine (Zugriffszeit

Suggest Documents