Befehl aus der Gruppe: Array-Befehle
Die Funktion ArrToAddress ermittelt die Adresse des angegebenen ARRAYs (CONST oder VAR) und übergibt sie als Rückgabewert an die Zielvariable.
< Variable von Typ Adress > := ArrToAddress ( < CONST oder VAR ARRAY > ) ;
CONST oder VAR ARRAY = Der Parameter ist der Name eines zuvor definierten ARRAYs.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
PROGRAM ADR;
DEVICE = mega328p;
{$I
mega328P_Register.INC}
CONST
SINTAB : array[0..127] of Byte = (
$80, $86, $8C, $91, $97, $9D, $A3, $A9,
$AE, $B4, $B9, $BE, $C4, $C8, $CD, $D2,
$D6, $DA, $DE, $E2, $E5, $E9, $EC, $EE,
$F1, $F3, $F5, $F6, $F8, $F9, $F9, $FA,
$FA, $FA, $F9, $F9, $F8, $F6, $F5, $F3,
$F1, $EE, $EC, $E9, $E5, $E2, $DE, $DA,
$D6, $D2, $CD, $C8, $C4, $BE, $B9, $B4,
$AE, $A9, $A3, $9D, $97, $91, $8C, $86,
$80, $79, $73, $6E, $68, $62, $5C, $56,
$51, $4B, $46, $41, $3B, $37, $32, $2D,
$29, $25, $21, $1D, $1A, $16, $13, $11,
$0E, $0C, $0A, $09, $07, $06, $06, $05,
$05, $05, $06, $06, $07, $09, $0A, $0C,
$0E, $11, $13, $16, $1A, $1D, $21, $25,
$29, $2D, $32, $37, $3B, $41, $46, $4B,
$51, $56, $5C, $62, $68, $6E, $73, $79
);
VAR
CARR : Address;
b1 : Byte;
w1 : Word;
BEGIN
CARR:=ArrToAddress(SinTab);
b1:=ReadAddrArray(CARR,2);
END ADR.
|
Durch die Funktion ArrToAddress wird in Zeile 38 der Variablen CARR (vom Typ Address) die Adresse des ARRAYs "SinTab" zugewiesen.
Danach wird in der Zeile 39 durch die Funktion ReadAddrArray der Inhalt des Bytes an der ArrayPosition "2" in die Byte-Variable "b1" geschrieben.
Der Wert von "b1" ist "$8C" (siehe Definition der Array-Konstante 3. Wert, da mit 0 begonnen wurde).