Die Funktion ReadAddrArray liest den Wert aus der Array-Zelle des angegebenen ARRAYs (CONST oder VAR) und übergibt ihn als Rückgabewert. Der Typ des Rückgabewertes entspricht dem Typ der Array-Zellen.
< Variable vom Typ der ArrayZelle > := ReadAddrArray ( < Variable von Typ Address > , < Position im Array > ) ;
Variable von Typ Address = Der erste Parameter ist der Name einer Variablen vom Typ Address. Dieser Variablen muss zuvor die Adresse des Arrays zugewiesen worden sein.
Position im Array = Der zweite Parameter bezeichnet die Position im angegebenen Array dessen Inhalt gelesen werden soll. Dieser Parameter kann eine Variable, eine Konstante oder ein einfacher Term sein.
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" (Zeile 11, 3. Wert, da mit 0 begonnen wird).