INF2171 - récapitulatif au 22 mai

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