chapitres 3, 3.1.1, 3.1.3: Codage de l'information
L'ordinateur travaille avec des 0 et des 1 appelés bits.
Les bits sont conservés par groupe de 8 appelé octet (BYTE en anglais).
L'architecture de PEP8 utilise des mots (WORD) de 16 bits.
Lors de la visualisation, PEP8 affiche la valeur en hexadécimale d'un octet ou d'un mot., soit des groupements de 4 bits.
Si on utilise les nombres non signés (positifs seulement), 1 mot représentera
un nombre décimal de 0 à 65535
ou en hexdécimal de 0000 à FFFF.
chapitre 4:
Introduction à l’arithmétique sur ordinateur
chapitre 4.1: Les nombres signés
Utilement il existe aussi des nombres négatifs.
| binaire | décimal | hexadécimal | octal |
| 0111 1111 1111 1111 | +32767 | 7FFF | 077777 |
| ------------------- | |||
| 0000 0000 0000 0011 | +3 | 0003 | 000003 |
| 0000 0000 0000 0010 | +2 | 0002 | 000002 |
| 0000 0000 0000 0001 | +1 | 0001 | 000001 |
| 0000 0000 0000 0000 | 0 | 0000 | 000000 |
| 1111 1111 1111 1111 | -1 | FFFF | 777777 |
| 1111 1111 1111 1110 | -2 | FFFE | 777776 |
| 1111 1111 1111 1101 | -3 | FFFD | 777775 |
| ------------------- | |||
| 1000 0000 0000 0000 | -32768 | 8000 | 100000 |
exemple1:
+1205610 -> ?
16
12056 / 16 = 753 reste 8
753 / 16 = 47 reste 1
47 / 16 = 2 reste 15
2 / 16 = 0 reste 2
réponse: 2F1816
exemple2:
-2564510 -> ?
16
Pour connaître l'équivalent d'un nombre décimal négatif, on doit prendre la valeur positive du nombre et effectuer son complément.
Il faut prendre le complément de +25645.
+25645 -> ?
25645 / 16 = 1602 reste 13
1602 / 16 = 100 reste 2
100 / 16 = 6 reste 4
6 / 16 = 0 reste 6
Le complément de 642D16:
FFFF + 1
- 642D
----
9BD2 + 1 -> 9BD316
exemple 3:
9AFE16
-> ? 10
9AFE16 -> 1001 1010 1111 11102
Le premier bit (celui de gauche) contient "1" qui nous indique que le signe est négatif.
Le nombre décimal sera "-" (complément de 9AFE):
complément de 9AFE:
FFFF + 1
- 9AFE
----
6501 + 1 -> 650216
650216 -> 6*4096 + 5*256 + 0*16 + 2 -> 2585810
Réponse: -25858
exemple4:
500016 + 500016 -> A00016
2048010 + 2048010 -> -2457610
Le témoin de débordement (oVerflow) sera vrai "1".
Les nombres sont divisés en 2 parties égales:
0000 à 7FFF sont réservés pour les nombres positifs et
8000 à FFFF sont réservés pour les nombres négatifs.
annexe A: Représentation décimale et hexadécimale des codes caractères ASCII
Code ASCII Caractères
00 Caractère NUL
0A Caractère de saut de ligne sur PEP8 (ENTREE)
20 Espacement ' '
30 Premier chiffre '0'
41 Premier caractère alphabétique majuscule 'A'
61 Premier caractère alphabétique minuscule 'a'
annexe C: 39 Instructions de PEP8
1) Arrêt du programme: STOP
2) Branchements: BR BRLE BRLT BREQ BRNE BRGE BRGT BRV BRC
3) Opérations logiques: NOT NEG ASL ASR ROL ROR
4) Opérations (pas d'opération): NOP0 à NOP7 et NOP
5) Entrée/sortie:
DECI DECO STRO CHARI CHARO
6) Opérations mathématiques et logiques:ADD SUB
AND OR CP
7) Déplacement: LD LDBYTE ST STBYTE
PEP8
Installation de PEP8.
Version LINUX ?
Utilisation de PEP8: code source, save (.TXT), assemble, run
source, start debugging source, capture terminal I/O, format from listing
Les programmes PREMIER1, 2 et 3.
Instructions utilisées:
1) Arrêt du
programme: STOP
2) Branchements: BR BREQ(si zéro) BRV(si oVerflow)
3) Opérations logiques: aucunes
4) Opérations (pas d'opération): aucunes
5) Entrée/sortie:
DECI DECO STRO CHARO
6) Opérations mathématiques et logiques:
ADDA
7) Déplacement: LDA STA
Directives utilisées:
.BLOCK
.ASCII
.END