CODINGLA BIBLE DU CPC 6128

La bible du CPC 6128 : 3.04.01 L'arithmétique à virgule flottante

3.4 La ROM Basic

3.4.1 L'arithmétique à virgule flottante

******* convertir nombre entier en ASCII

EF4F
EF51 accepter nombre entier dans HL
EF61 zéro
EF62 convertir nombre en chaîne formatée
EF68 ' '
EF98 '%'
F02F '.'
F034 T
F03D '+E'
F047 '-'
F04C '0'-1
F04F 10
F053 '9'+1
F079 V
F099 '0'
F0A8 '5'
F0B1 V
F0C0 '9'
F0C3 '0'
F0DA '0'
F0E8 '0'
F128 ','
F135 '0'
F146 '0'
F156 '-'
F162 V
F166 ' •
F181 '*'
F185 ' '
F1CF '0'
F1DE '0'

****** fonction BASIC PEEK

F20D UNT
F210 READ RAM, LD A,(HL)
F211 accepter contenu accu comme nombre entier

****** instruction BASIC POKE

F214 aller chercher adresse 16 bits
F218 tester virgule et aller chercher valeur 8 bits
F21C écrire valeur dans adresse

****** fonction BASIC INP

F21E CINT
F221 adresse de port dans BC
F223 lire port
F225 accepter contenu accu comme nombre entier

****** instruction BASIC OUT

F228 aller chercher adresse et valeur
F22B sortir

****** instruction BASIC WAIT

F22E aller chercher adresse et valeur
F231 valeur 8 bits dans D
F232 3ème paramètre zéro
F234 aller chercher évent. troisième paramètre
F237 troisième paramètre dans E
F238 lire port
F23B relier
F23C et attendre

****** aller chercher valeurs 16 bits et 8 bits

F23F aller chercher valeur 16 bits
F243 dans BC
F244 tester si ','
F247 et aller chercher valeur 8 bits

****** extension d'instruction

F24A incrémenter pointeur de programme
F24C suit octet zéro ?
F24F oui, KL FIND COMMAND
F252 adresse d'instruction dans DE
F254 pas trouvé, 'Unknown command'
F257 ignorer mot d'instruction
F257 ignorer mot d'instruction
F258 bit 7 mis ?
F259 non, continuer à lire
F25B à l'instruction CALL
F25D sortir message d'erreur
F260 'Unknown command'

****** instruction BASIC CALL

F261 aller chercher valeur 16 bits
F264 #FF = RAM sélectionnée
F266 adresse dans #AE55
F26B octet de configuration dans #AE57
F26E sauver pointeur de pile
F272 maximum 32 paramètres
F274 suit virgule ?
F277 non
F27A aller chercher expression
F27E et adresse sur pile
F27F prochain paramètre
F281 fin de l'instruction, sinon 'Syntax error'
F284 sauver HL
F289 nombre des paramètres dans accu
F28E adresse du bloc de paramètres dans IX
F290 exécuter routine
F293 ramener pointeur de pile
F297 initialiser descripteur de pile
F29A restaurer HL

****** instruction BASIC ZONE

F2A2 aller chercher valeur 8 bits différente de zéro
F2A5 comme pas de fabulation

****** instruction BASIC PRINT

F2A9 numéro de canal
F2AC fin de l'instruction ?
F2AF oui, sortir LF
F2B2 'USING'
F2B8 adresse de base de la table
F2BB rechercher dans la table
F2BF JP (DE), exécuter fonction
F2C2 fin de l'instruction ?
F2C5 non, continuer
F2C8 nombre des entrées de la table
F2C9 adresse de retour si pas trouvé
F2CB 7
F2CE 'SPC
F2D1 'TAB'
F2D4 ';'
F2D5 ignorer espaces

****** PRINT

F2D7 aller chercher expression
F2DC tester si chaîne
F2DF oui
F2E1 convertir nombre en chaîne ASCII
F2E4 aller chercher param. de chaîne
F2E7 ajouter ' ' caractère espace
F2E9 aller chercher descripteur de chaîne
F2EC incrémenter longueur
F2F0 aller chercher descripteur de chaîne
F2F3 longueur
F2FF ' '
F302 caractère de contrôle ?
F30F canal de sortie sélectionné

****** PRINT ,

F31E ignorer les espaces
F321 pas de fabulation

****** PRINT SPC

F339 aller chercher valeur 8 bits dans parenthèses

****** PRINT TAB

F342 aller chercher valeur 8 bits dans parenthèses

****** aller chercher valeur 8 bits dans parenthèses

F362 ignorer les espaces
F365 tester si '('
F368 aller chercher valeur 8 bits
F36B tester si ')*

****** PRINT USING

F383 ignorer les espaces
F386 aller chercher expression chaîne
F389 tester si encore un caractère
F38C ';'
F392 aller chercher expression
F3A9 fin de l'instruction ?
F3AC oui
F3B4 aller chercher expression
F3D7 'Underline'
F3F4 Y
F3F6 ignorer les espaces
F3F9 tester si ','
F3FF '&'
F404 T
F408 'Backslash'
F413 'Backslash'
F417 "
F436 tester si caractère de formatage
F443 formater nombre
F446 sortir chaîne

****** tester si caractère de formatage

F44D
F454 V
F460 '.'
F464 '#'
F47A ' '
F47C '*'
F489 '#'
F49C '$'
F4B0 'Improper argument'
F4B8 '.'
F4BC '#'
F4C0 ','
F4D0 '#'
F4D6 'A'
F4F9 '-'
F4FD '+'
F507 '$'

****** instruction BASIC WRITE

F50D
F510 fin de l'instruction
F513 oui
F516 aller chercher expression
F51B tester si chaîne
F51E oui
F520 convertir nombre en ASCII
F523 et sortir
F528 ""
F52A sortir
F52D sortir chaîne
F530 ""
F532 sortir
F537 Fin de l'instruction ?
F53D ','
F53F sortir
F542 continuer

****** configurer mémoire

F544 place mémoire de DE à HL
F547 comparaison HL avec BC
F54A plus grande adresse < #AC00 ?
F54B HIMEM
F54E fin des chaînes
F551 fin de la RAM libre
F555 début de la RAM libre
F558 plus 303
F55D donne début du programme

******* instruction BASIC MEMORY

F570 aller chercher valeur 16 bits
F577 comparaison HL <> DE ********
F58F TXT GET M TABLE
F5F7 comparaison HL <> DE

******* calculer longueur de la zone des chaînes

F5FD
F5FF début des chaînes
F603 fin des chaînes
F606 BC := HL - DE

******* incrémenter pointeurs progr. et de variable de BC

F60C fin du programme
F610 fin du programme
F618 début des variables
F61C début des variables
F61F début des tableaux
F623 début des tableaux
F626 fin des tableaux
F62A fin des tableaux
F633 fin du programme
F63E fin du programme
F645 BC := HL - DE

****** initialiser pile BASIC

F652 début de la pile
F655 pointeur de pile BASIC
F658 pour un octet
F65A reserver place dans pile BASIC
F65D zéro sur pile
F65F incrémenter pointeur de pile
F660 et ranger

****** libérer place dans pile BASIC

F665 pointeur de pile
F669 retrancher contenu accu
F671 ranger nouvelle valeur du pointeur de pile BASIC

****** reserver place dans pile BASIC

F675 pointeur de pile BASIC
F67A additionner contenu accu
F67E pointeur de pile BASIC
F683 donne plus de #4F94 de dépassement ?
F686 alors pointeur de pile est > #B06C
F689 initialiser pile BASIC
F68C 'Memory full'
F68F fin des chaînes
F692 début des chaînes

******* reserver place pour chaîne

F696
F69C début des chaînes
F6A4 comparaison HL <> DE
F6AE sortir message d'erreur
F6B1 'chaîne space fuir
F6B2 début des chaînes
F6BF fin du programme
F6D2 comparaison HL <> DE
F6EA transfert de bloc LDDR
F6F9 BC := HL - DE
F6FE transfert de bloc LDIR
F705 BC := HL - D
F70C début des chaînes
F717 début des chaînes

****** instruction BASIC SYMBOL

F784 'AFTER'
F788 aller chercher valeur 8 bits
F78C tester si ','
F78F 8 valeurs
F792 suit virgule ?
F796 oui, aller chercher valeur 8 bits
F79B déjà 8 arguments ?
F79F TXT GET MATRIX
F7A2 matrice pas dans RAM, 'Improper argument'
F7A5 8
F7A8 plus adresse matrice
F7A9 un octet de la pile
F7AB dans table matrice
F7AD prochain octet

****** SYMBOL AFTER

F7B1 ignorer les espaces
F7B4 aller chercher valeur entière avec signe
F7B8 256
F7BB comparaison HL <> DE
F7BE 'Improper argument'
F7C2 TXT GET M TABLE
F7C6 matrice pas encore défini ?
F7D3 'Improper argument'
F7DD 256
F7E0 TXT SET M TABLE
F7FD 'Memory fulF
F805 TXT SET M TABLE
F815 comparaison HL <> DE
F818 'Memory fuir
F833 fin des chaînes
F83E transfert de bloc LDDR
F844 début des chaînes
F851 transfert de bloc LDIR
F857 fin des chaînes
F85B début des chaînes
F865 fin du programme
F868 comparaison HL <> DE
F875 sortir message d'erreur
F878 'Memory full'

****** lire chaîne

F879
F87E ""
F880 ignorer les espaces
F89F ','
F8AD JP (DE)
F8BE ' '
F8C2 TAB
F8C6 CR
F8CA LF

****** sortir chaîne

F8D0 aller chercher param. de chaîne
F8D3 chaîne vide ?
F8D4 aller chercher caractère
F8D5 incrémenter pointeur
F8D6 sortir caractère
F8D9 prochain caractère

****** fonction BASIC LOWERS

F8EC convertir majuscules en minuscules

****** convertir majuscules en minuscules

F8F1 'A'
F8F4 'Z'+1
F8F7 'a'-'A'

****** fonction BASIC UPPERS

F8FA convertir minuscules en majuscules
F915 saut en (BC)

****** addition de chaîne

F91D pointeur sur seconde chaîne
F921 longueurs
F922 additionner
F923 pas dépassement
F925 sortir message d'erreur
F928 'String too long'

****** fonction BASIC BIN$

F964

****** fonction BASIC HEX$

F969
F96D aller chercher expression
F975 suit virgule ?
F978 0 comme défaut
F979 oui, aller chercher valeur 8 bits
F97C supérieur ou égal 17 ?
F97E oui, 'Improper argument'
F982 tester si ')'
F98A convertir nombre en chaîne

******* fonction BASIC DECS

F98F aller chercher expression
F992 tester si ','
F995 placer sur pile BASIC
F998 aller chercher expression chaîne et paramètre
F99B tester si ')'
F99F longueur
F9A0 libérer place dans pile BASIC
F9A4 longueur
F9A5 accepter variable
F9AB tester si caractère de formatage
F9AE 'Improper argument'
F9B3 'Improper argument'
F9B7 formater nombre
F9BA accepter chaîne

****** fonction BASIC STR$

F9BC
F9BD convertir nombre en chaîne
F9C1 compteur pour longueur de chaîne sur -1
F9C3 zéro
F9C4 incrémenter compteur
F9C5 fin des chaînes ?
F9C6 incrémenter pointeur
F9C7 non, prochain caractère
F9CA longueur de chaîne
F9CB réserver place, créer descripteur de chaîne

****** fonction BASIC LEFT$

F9D3 aller chercher chaîne et valeur 8 bits

****** fonction BASIC RIGHT$

F9D8 aller chercher chaîne et valeur 8 bits
F9DB longueur de chaîne
F9DC moins paramètre

****** fonction BASIC MID$

F9E2 tester si '('
F9E5 aller chercher chaîne et valeur 8 bits
F9E8 zéro, 'Improper argument'
F9EB 255
F9EC comme défaut
F9ED aller chercher troisième argument
F9F0 tester si ')'

****** instruction BASIC MID$

FA07 tester si '('
FA0A aller chercher variable
FA0D type chaîne, sinon 'Type mismatch'
FA19 'Improper argument'
FA1C 255
FA1D comme défaut
FA 1E aller chercher troisième argument
FA21 tester si ')'
FA24 tester si '='
FA28 aller chercher expression et paramètre chaîne
FA3E transfert de bloc LDIR
FA4 3 aller chercher expression chaîne

****** aller chercher troisième argument pour MID$

FA4F défaut 255
FA52 ')'
FA56 tester si ','
FA59 aller chercher valeur 8 bits

****** fonction BASIC LEN

FA69 aller chercher param. de chaîne, longueur dans A
FA6C accepter contenu accu comme nombre entier

****** fonction BASIC ASC

FA6E code ASCII du premier caractère
FA71 accepter contenu accu comme nombre entier

****** fonction BASIC CHR$

FA74 CINT, <256
FA77 code ASCII dans accu
FA7A longueur 1
FA7C créer chaîne avec longueur A

****** fonction BASIC INKEY$

FA7E KM READ CHR
FA81 aucune touche appuyée ?
FA83 'ESC
FA85 chaîne vide
FA87 'ESC
FA89 chaîne vide
FA8B accepter caractère dans chaîne

****** fonction BASIC STRINGS

FA8D aller chercher valeur 8 bits, longueur
FA91 tester si ','
FA94 aller chercher expression
FA97 tester si ')'
FA9F créer chaîne avec longueur A
FAA1 tester si chaîne
FAA4 non
FAA6 aller chercher param. de chaîne
FAA9 chaîne vide, 'Improper argument'
FAAB aller chercher code ASCII

****** fonction BASIC SPACE$

FAAD
FAB0 ' '

****** fonction BASIC VAL

FABE aller chercher param. de chaîne
FAC1 accepter contenu accu comme nombre entier
FACE convertir chaîne en nombre
FAD5 sortir message d'erreur
FAD8 'type mismatch'
FAE2 'Improper argument'

****** fonction BASIC INSTR

FAE5 aller chercher expression
FAE8 tester si chaîne
FAEB position début défaut 1
FAED oui
FAEF CINT, < 256
FAF3 'Improper argument'
FAF7 tester si ','
FA FA aller chercher expression chaîne
FAFD tester si ','
FB05 aller chercher expression et paramètre chaîne
FB08 tester si ')'
FB48 accepter contenu accu comme nombre entier
FB65 début des chaînes
FB68 comparaison HL <> BC
FB6D fin des chaînes
FB70 comparaison HL <> BC
FB9E début du programme
FBA1 comparaison HL <> DE
FBA4 fin des chaînes
FBA8 comparaison HL <> DE
FBAD fin du programme
FBB1 comparaison HL <> DE
FBC4 transfert de bloc LDIR

******* initialiser descripteur de pile

FBCC
FBCF pointeur dans descripteur de pile pour chaînes
FBD7 chaîne
FBD9 comme type de variable
FBDC pointeur dans descripteur de pile
FBE2 descripteur de chaîne
FBE5 comparaison HL <> DE
FBE8 'String expression too complex'
FBEA sortir message d'erreur
FBF0 pointeur dans descripteur de pile
FBF6 type chaîne, sinon 'type mismatch'
FC0A début des chaînes
FC10 comparaison HL <> DE
FC1B début des chaînes
FC27 comparaison HL <> DE

****** fonction BASIC FRE

FC53 tester si chaîne
FC56 non
FC5B Garbage Collection
FC5E calculer place mémoire libre

****** Garbage Collection

FC64
FC7C comparaison HL <> DE
FC87 fin des chaînes
FC8B début des chaînes
FCA9 comparaison HL <> BC
FCAF début des chaînes
FCB3 BC := HL - DE
FCB7 comparaison HL <> DE
FCBC transfert de bloc LDDR
FCC0 début des chaînes
FCD9 comparaison HL <> DE
FCE6 comparaison HL <> DE
FCF3 aller chercher résultat numérique
FD03 UNT

******* opérateur BASIC V

FD0C tester type des opérandes
FD0F virgule flottante ?
FD11 addition entière HL := HL + DE
FD14 pas dépassement, accepter résultat dans HL
FD17 convertir en virgule flottante
FD1A addition à virgule flottante
FD1D pas dépassement, ok
FD1E 'Overflow'

******* opérateur BASIC '-'

FD21 tester type des opérandes
FD24 virgule flottante ?
FD26 soustraction entière HL := DE - HL
FD29 pas dépassement, accepter résultat dans HL
FD2C convertir en virgule flottante
FD2F soustraction à virgule flottante
FD32 pas dépassement, ok
FD33 'Overflow'

******* opérateur BASIC '*'

FD35 tester type des opérandes
FD38 virgule flottante ?
FD3A multiplication entière avec signe
FD3D pas dépassement, accepter résultat dans HL
FD40 convertir en virgule flottante
FD43 multiplication à virgule flottante
FD46 pas dépassement, ok
FD47 'Overflow'

****** comparaison arithmétique

FD49 tester type des opérandes
FD4C comparaison entiers
FD4F comparaison à virgule flottante

****** opérateur BASIC '/'

FD52
FD57 division à virgule flottante
FD5B 5 octets
FD5E transférer résultat
FD60 ok ?
FD61 'Division by zéro'
FD64 'Overflow'

******* opérateur BASIC 'Backslash'

FD67
FD6B division entière avec signe
FD6E accepter résultat dans HL
FD71 'Division by zéro'

******* opérateur BASIC 'MOD'

FD79
FD7D calcul MOD
FD80 accepter résultat dans HL
FD83 sortir message d'erreur
FD86 'Division by zéro'

******* opérateur BASIC 'AND'

FD87
FD8C HL := HL AND DE
FD8F accepter nombre entier HL

******* opérateur BASIC 'OR'

FD92
FD97 HL := HL OR DE
FD9A accepter nombre entier HL
******* opérateur BASIC 'XOR'
FD9C
FDA1 HL := HL XOR DE
FDA4 accepter nombre entier HL

****** opérateur BASIC 'NOT'

FDA6 CINT
FDAC former complément de HL
FDAE accepter nombre entier HL

******* fonction BASIC ABS

FDB0 SGN
FDB3 signe positif, terminé

****** inverser signe

FDB4 aller chercher résultat numérique
FDB7 changement de signe virgule flottante
FDBA changement de signe Integer
FDBD sauver résultat
FDC0 dépassement, convertir nombre en virgule flottante

******* déterminer signe

FDC4
FDC6 SGN

******* déterminer signe

FDCC aller chercher résultat numérique
FDCF Integer SGN
FDD2 SGN

******* arrondir nombre

FDD7 accepter type et valeur de variable
FDD7 accepter type et valeur de variable
FDDB aller chercher résultat numérique
FDDE chiffres d'arrondissage
FDDF valeur à virgule flottante ?
FDE2 arrondissage après virgule? terminé
FDE3 convertir valeur entière en virgule flottante
FDE6 arrondir nombre
FDE9 CINT
FDEC chiffres d'arrondissage
FDED différ. de zéro, alors arrondir
FDEF convertir virgule flottante en Integer
FDF2 exécuter fonction
FDF6 chiffres d'arrondissage
FDF7 multiplier nombre à virgule flottante par 10AA
FDFA convertir virgule flottante en Integer
FE02 convertir Integer en virgule flottante
FE05 inverser chiffres d'arrondissage
FE06 correspond à division
FE07 multiplier nombre à virgule flottante par 10AA

****** fonction BASIC FIX

FE0E fonction FIX

****** fonction BASIC INT

FE13 fonction INT
FE16 aller chercher résultat numérique
FE19 Integer ?
FE1A JP (DE), exécuter fonction
FE1E type de variable
FE25 type de variable dans C, pointeur dans HL
FE29 convertir Integer en virgule flottante
FE2D chaîne ?
FE34 si positif accepter signe de B
FE38 accepter résultat dans HL
FE3C chaîne ?
FE3E oui, 'type mismatch'
FE40 type de variable
FE43 chaîne ?
FE45 oui, 'type mismatch'
FE4D type de variable
FE50 ranger
FE52 convertir nombre entier en virgule flottante
FE58 convertir nombre entier en virgule flottante
FE5D pointeur sur variable
FE68 variable
FE6D 'type mismatch'
FE70 type de variable
FE73 comparer
FE74 Integer ?
FE76 non

******* opérande Integer en virgule flottante

FE78 premier opérande
FE7B convertir
FE7E pointeur de pile BASIC, second opérande
FE81 convertir
FE84 dans DE

******* convertir nombre entier en virgule flottante

FE8D nombre dans DE

****** convertir nombre entier en virgule flottante

FE95 type de variable
FE98 sur 'Real'
FE9E négatif, alors changement de signe integer
FEA2 convertir Integer en virgule flottante

******* convertir nombre 4 octets en virgule flottante

FEA5 Lo-Word
FEA9 Hi-Word
FEAC type de variable
FEAF 'Real'
FEB1 pointeur sur valeur 4 octets
FEB3 convertir nombre en virgule flottante

****** fonction BASIC CINT

FEB6
FEBA 'Overflow'
FEBF résultat
FECC 'Overflow'
FECE pointeur sur type de variable
FED1 charger type de variable
FED2 type sur Integer
FED5 comparer avec chaîne
FED9 'type mismatch'
FEDD convertir nombre à virgule flottante en Integer
FEE1 accepter signe B dans nombre entier HL

****** valeur entière (HL) dans HL

FEE6

****** fonction BASIC UNT

FEEB aller chercher résultat numérique
FEEE Integer ?
FEEF convertir virgule flottante en Integer
FEF2 'Overflow'
FEF5 accepter signe B dans nombre entier
FEF8 accepter nombre entier dans HL
FEFB sortir message d'erreur
FEFE 'Overflow'
FF02 type de variable
FF05 comparer
FF06 différent ?
FF0F CINT
FF11 type chaîne, sinon 'Type mismatch'

****** fonction BASIC CREAL

FF14 aller chercher résultat numérique
FF17 Integer, alors convertir

******* fixer valeur à virgule flottante sur zéro

FF1B

****** fonction BASIC SGN

FF2A SGN

****** accepter contenu accu comme nombre entier

FF32 octet faible
FF33 annuler octet fort

****** accepter nombre entier dans HL

FF35 ranger valeur
FF38 type sur Integer
FF3A et ranger

****** type de variable sur virgule flottante

FF3E pointeur sur nombre à virgule flottante
FF41 type sur Real

****** aller chercher type de variable, HL pointe sur variable

FF45 pointeur sur variable
FF48 type dans C
FF49 HL pointe sur variable

****** aller chercher type de variable

FF4B type de variable dans accu

****** aller chercher résultat numérique

FF4F type de variable
FF52 chaîne ?
FF54 oui, 'type mismatch'
FF56 charger valeur entière
FF59 pas virgule flottante, terminé
FF5A adresse du nombre à virgule flottante
FF5E tester si chaîne
FF61 oui, ok
FF62 sortir message d'erreur
FF65 'type mismatch'

****** tester si chaîne

FF66 type de variable
FF69 chaîne ?
FF6C fixer type de variable
FF6F adresse dans DE

****** placer résultat sur pile BASIC

FF74
FF76 type de variable
FF79 égale besoin de pile
FF7A reserver place dans pile BASIC
FF7D placer résultat sur pile

****** copier variable dans (HL)

FF83 adresse objet dans DE
FF84 adresse source
FF88 type de variable
FF8B égale compteur de décalage
FF8C annuler octet fort
FF8E décaler

****** tester si lettres

FF92 convertir minuscules en majuscules
FF95 'A'
FF99 'Z'+l

******* tester si caractère alphanumérique

FF9C tester si lettre
FF9F oui
FFA0 '.'
FFA4 '0'
FFA8 '9'+l

****** convertir minuscules en majuscules

FFAB 'a'
FFAE 'z'+l
FFB1 'a'-'A'

****** rechercher dans table suivante

FFB4
FFB6 charger longueur de table
FFB8 adresse de retour pour recherche négative
FFBB comparer caractère
FFBC incrémenter pointeur
FFBD trouvé ?
FFBF table pas encore terminée ?
FFC1 charger adresse de retour
FFC5 adresse dans HL

****** rechercher dans zone de mémoire (HL)

FFCA
FFCC A dans C
FFCE zéro
FFD2 égale accu antérieur
FFD4 fixer Carry

******* comparaison HL <> DE

FFD8
FFD9 H -D
FFDB L-E

****** comparaison HL <> BC

FFDE
FFDF H - B
FFE1 L-C

******* BC := HL - DE

FFE4
FFE6 HL := HL - DE
FFE9 BC := HL
FFEC nombre dans C
FFED octet fort sur zéro
FFF0 compteur BC = 0 ?
FFF1 oui, alors terminé
FFF2 transfert de bloc

****** transfert de bloc LDDR

FFF5
FFF6 compteur BC = 0 ?
FFF7 oui, alors terminé
FFF8 transfert de bloc

****** saut en (HL)

FFFB

****** saut en (BC)

FFFC

****** saut en (DE)

FFFE

★ ANNÉE: ???

Page précédente : La bible du CPC 6128 : 3.04.01 L'arithmétique à virgule flottante
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 186 millisecondes et consultée 1240 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.