Herunterladen Inhalt Inhalt Diese Seite drucken

Commodore C116 Bedienungshandbuch Seite 238

Inhaltsverzeichnis

Werbung

A N H A N G
********************
*
BITS UND BYTES
********************
COtvl~10DOR
E 116
Der Prozessor im COMMODORE 116 heißt 7501,
er
ist
ein
Nach-
folgetyp des 6502 und ein
8-Bit-Prozessor.
Mit
jeder
Speicherstelle
werden also vom Prozessor gleichzeitig 8 Bits angesprochen, ein 'Byte'.
Mit 8
Bits
lassen
sich
Zahlenwerte
von
0-255
darstellen,
nämlich 2*2*2*2 * 2*2*2*2 = 2 hoch 8 verschiedene, weil jedes Bit unab-
hängig von den anderen die 2 Zustände 0 oder l
anneh1nen
kann,
Dieser
Zahlenbereich ist bei PEEK- und
POKE-Befehlen
zu
beachten,
die
den
Inhalt einzelner Speicherstellen auslesen bzw. neu setzen.
Ein 8-Bit-Prozessor kann
maximal
65536 = 2 hoch 16
Speicher-
stellen verwalten. Der Adreßbereich umfaßt die
Adressen
0
bis
65535
(bei PEEK, POI\E und SYS
zu
beachten).
Dieser
Umfang
kornrnt
dadurch
zustande, daß der Rechner zur
Speicheradressierurtg
jeweils
2
Bytes,
also insgesamt 16 Bits,
verwendet,
die er
ggf.
nacheinander
aus
dem
Progra1nmspeicl1er holen
1nuß
(z.B. bei Adressierungsart 'absolut').
Z.B.
bei Verwendung der USR-Funktion muß rnan diese beiden Bytes
(die die Anfangsadresse der eigenen
Mascl1inenroutine
angeben)
selbsL
auf 2 aufeinanderfolgende Speicherstellen
('Pointer')
schreiben.
Die
beiden Adreßbytes werden unterschieden in das LO-Byte, das die
unteren
8 Binärstellen der insgesamt ja 16st:.ellig-en Adresse aufnimmt,
und
das
HI-Byte mit den oberen 8 Binärstellen. Dadurch hat das
HI-Byte
gegen-
über dem LO-Byte eine 256fache \'lertigkeit.
Allgentein
muß
bei
diesem
Prozessortyp die sog.
'LO-HT-Reihenfolge'
eingehalten
1·1erden.
Dabei
liegt das LO-Byte im Speicher direkt vor dem [-!I-Byte!
Zerlegung einer Adresse AD in LO- und HI-Byte:
HI = INT( AD /
256 ) : LO = AD -
256
*
HI
Ermittlung einer vollen Adresse AD aus LO- und HI-Byte:
AD = LO + 256 * HI
Setzen eines Pointers in P und P+l auf den Wert AD:
HI=INT(AD/256) :LO=AD-256*HI:POKE P,LO:POKE P+l,HI
Lesen eines Pointers aus P und P+l in die Variable AD:
AD = PEEK( P ) + 256 * PEEK( P+l )
Wie man leicht
erkennt,
ist
die
dezimale
Schreibweise
fUr
Binärzahlen sel1r
untst~ndlich.
Daher
wurden
die
'Hexadezi1nal'-Zahlen
eingeführt.
In der dezimalen Stellenschreibweise
ist
ja
eine
Stelle
jeweils lOmal mehr wert als die
rechts
davon,
weil
eine
Stelle
10
verschiedene Werte (0-9) annehmen kann.
Im Hexadezimalsystem werden
je
4 Bits (ein 'Nibble') zu einer Stelle, einer Hexadezimalziffer,
zusam-
mengefaßt. Durch 4 Bits können aber 16 verschiedene Zahlenwerte
(0-15)
dargestellt werden, d.h. die 10
herkömmlichen
Dezimalziffern
reichen
nicht aus. Für die neuen Hex-Ziffern mit den Wertigkeiten 10-15
wurden
daher die Buchstaben A-F
ausgewählt.
In
der
hexadezimalen
Stellen-
Schreibweise ist folgerichtig eine Stelle jeweils l6rnal mehr
wert
als
die rechts davon (16*16=256,
16*256=4096,
16*4096=65536).
Hex-Zahlen
werden zur Unterscheidung mit einem vorangestellten
Dollarzeichen
($)
gekennzeichnet, z.B.
~10F
= 15 (dez.!) oder $51 = 81 = 5*16+1.
226

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis