1 ; Sous-programme qui lit un tableau d'entier
2 ; -> utilise des variables globales (c'est pas bien)
5 ; Programme principal. Invoque simplement la fonction.
10 tab: .BLOCK 10 ; un tableau d'entiers #2d5a
11 tabLen: .EQUATE 10 ; taille de tab en octets
13 ; readTab: lit un tableau d'entiers (de l'input)
14 ; IN: A=tableau d'entiers (mots signés #2d)
15 ; X=taille du tableau en octets
16 ; En cas de probleme de lecture, le programme s'arrete.
17 readTab: STA addrt,d ; sauvegarde le parametre A
18 STX taille,d ; sauvegarde le parametre X
20 STX addrfin,d ; addrfin = addrt + taille
21 LDX addrt,d ; for (X=addrt; X<addrfin; X+=2) {
22 readLoop:CPX addrfin,d
24 DECI 0,x ; *addrt = readInt();
26 BR readLoop ; } // fin for
27 rTfin: LDX taille,d ; restaure X
29 ; variables ``locales'' du sous-programme
30 taille: .BLOCK 2 ; la taille du tableau en octets #2d
31 addrt: .BLOCK 2 ; l'adresse du tableau #2h
32 addrfin: .BLOCK 2 ; l'adresse de fin du tableau #2h