La programmation du preimier ordinateur
Fermé
divaldo15
Messages postés
6
Date d'inscription
vendredi 7 août 2015
Statut
Membre
Dernière intervention
8 août 2015
-
7 août 2015 à 21:47
Utilisateur anonyme - 8 août 2015 à 18:22
Utilisateur anonyme - 8 août 2015 à 18:22
A voir également:
- La programmation du preimier ordinateur
- Ordinateur qui rame - Guide
- Réinitialiser ordinateur - Guide
- Comment débloquer la souris d'un ordinateur portable - Guide
- Application de programmation - Guide
- Comment réinitialiser un ordinateur verrouillé - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
Modifié par KX le 7/08/2015 à 22:00
Modifié par KX le 7/08/2015 à 22:00
Bonjour,
Cela dépend ce que tu appelles "ordinateur".
La première machine programmable date de 1725. À l'aide d'un ruban perforé qui permettait de définir le motif d'un métier à tisser...
Certes on est encore loin de l'iPhone mais comme la pile électrique n'a été inventé qu'en 1799 c'était déjà pas mal ;-)
Un peu de bibliographie :
https://www.commentcamarche.net/contents/480-ordinateur-histoire
https://fr.wikipedia.org/wiki/Histoire_des_ordinateursLa confiance n'exclut pas le contrôle
Cela dépend ce que tu appelles "ordinateur".
La première machine programmable date de 1725. À l'aide d'un ruban perforé qui permettait de définir le motif d'un métier à tisser...
Certes on est encore loin de l'iPhone mais comme la pile électrique n'a été inventé qu'en 1799 c'était déjà pas mal ;-)
Un peu de bibliographie :
https://www.commentcamarche.net/contents/480-ordinateur-histoire
https://fr.wikipedia.org/wiki/Histoire_des_ordinateursLa confiance n'exclut pas le contrôle
jee pee
Messages postés
40480
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 novembre 2024
9 428
Modifié par jee pee le 7/08/2015 à 22:25
Modifié par jee pee le 7/08/2015 à 22:25
Salut,
Il y a presque 40 ans j'ai rencontré la personne qui a conçu le système d'exploitation de cette machine :
Il a écrit le programme, en a fait la version en code machine pour le processeur (je ne sais plus s'il l'a effectué à la main ou a pu faire, par exemple, un listing de conversion sur une autre machine) puis l'a entré en mémoire, bit par bit, à l'aide des clés de la face avant. Mais il a du s'y reprendre à plusieurs fois. Dans cet OS il y avait une commande pour enregistrer le contenu de la mémoire sur un lecteur de k7 (audio) et le sauvegarder. Et il y avait en mémoire morte un boot qui lisait le contenu de la K7 pour charger l'OS en mémoire. Il avait alors embryon d'OS sur lequel greffer des fonctions supplémentaires (gerer un clavier, gerer un affichage, ...).
Cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Il y a presque 40 ans j'ai rencontré la personne qui a conçu le système d'exploitation de cette machine :
Il a écrit le programme, en a fait la version en code machine pour le processeur (je ne sais plus s'il l'a effectué à la main ou a pu faire, par exemple, un listing de conversion sur une autre machine) puis l'a entré en mémoire, bit par bit, à l'aide des clés de la face avant. Mais il a du s'y reprendre à plusieurs fois. Dans cet OS il y avait une commande pour enregistrer le contenu de la mémoire sur un lecteur de k7 (audio) et le sauvegarder. Et il y avait en mémoire morte un boot qui lisait le contenu de la K7 pour charger l'OS en mémoire. Il avait alors embryon d'OS sur lequel greffer des fonctions supplémentaires (gerer un clavier, gerer un affichage, ...).
Cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
divaldo15
Messages postés
6
Date d'inscription
vendredi 7 août 2015
Statut
Membre
Dernière intervention
8 août 2015
7 août 2015 à 22:51
7 août 2015 à 22:51
ça a du être un sacré travail. j'aimerai bien apprendre la langage machine des processeur intel x86
jee pee
Messages postés
40480
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 novembre 2024
9 428
>
divaldo15
Messages postés
6
Date d'inscription
vendredi 7 août 2015
Statut
Membre
Dernière intervention
8 août 2015
7 août 2015 à 23:16
7 août 2015 à 23:16
En dehors des génies ou des fous qui pensent en code machine, tu devrais apprendre l'assembleur qui est le langage de programmation au plus près du processeur
divaldo15
Messages postés
6
Date d'inscription
vendredi 7 août 2015
Statut
Membre
Dernière intervention
8 août 2015
8 août 2015 à 10:08
8 août 2015 à 10:08
merci. je pense que tu a raison.
Apprendre l'assembleur ou le langage machine est pareil, sauf que le langage machine est juste la traduction du langage asm (sur la même arch) en nombre (plus souvent en héxa).
Donc à toi de voir si c'est plus aisé de retenir des nombres et leurs définitions que de mots.
Après l'avantage du langage binaire sur l'asm est bien évidemment l'abandon de compilo, avoir l'impression d'être encore plus proche du CPU et de sa technologie et je pense quelques tours de passe-passe disponible qu'avec le langage binaire (déjà qu'il y en a en asm vs autres).
Tu auras juste besoin d'écrire dans un fichier à l'aide d'un éditeur hexadécimal comme HxD pour win puis tu changes l'extension en .exe et c'est tout.
https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html
Donc à toi de voir si c'est plus aisé de retenir des nombres et leurs définitions que de mots.
Après l'avantage du langage binaire sur l'asm est bien évidemment l'abandon de compilo, avoir l'impression d'être encore plus proche du CPU et de sa technologie et je pense quelques tours de passe-passe disponible qu'avec le langage binaire (déjà qu'il y en a en asm vs autres).
Tu auras juste besoin d'écrire dans un fichier à l'aide d'un éditeur hexadécimal comme HxD pour win puis tu changes l'extension en .exe et c'est tout.
https://software.intel.com/content/www/us/en/develop/articles/intel-sdm.html
jee pee
Messages postés
40480
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 novembre 2024
9 428
>
Utilisateur anonyme
Modifié par jee pee le 8/08/2015 à 14:20
Modifié par jee pee le 8/08/2015 à 14:20
Alors je ne sais pas si on doit classer shaynox en génie ou en fou ;-)
La seule instruction assembleur dont j'ai retenu le code binaire c'est NOP
Je préfère un source texte avec LDA, STA, MOV
Souvent on se penche sur du code exécutable quand justement on n'a pas le source. Et le décodage en direct d'un programme de déjà quelques milliers de caractères, bonjour. En plus des codes il faut mémoriser si l'instruction tient sur 1,2,3,4 ... octets. On va plutôt chercher un logiciel désassembleur pour générer un source intelligible par le commun des informaticiens.
Je viens de voir que cela existe même en ligne maintenant : https://onlinedisassembler.com/odaweb/ Il y a un exemple de code machine et de sa traduction. Déjà sur juste 35 octets c'est du boulot.
Exemple, l'instruction
La seule instruction assembleur dont j'ai retenu le code binaire c'est NOP
Je préfère un source texte avec LDA, STA, MOV
Souvent on se penche sur du code exécutable quand justement on n'a pas le source. Et le décodage en direct d'un programme de déjà quelques milliers de caractères, bonjour. En plus des codes il faut mémoriser si l'instruction tient sur 1,2,3,4 ... octets. On va plutôt chercher un logiciel désassembleur pour générer un source intelligible par le commun des informaticiens.
Je viens de voir que cela existe même en ligne maintenant : https://onlinedisassembler.com/odaweb/ Il y a un exemple de code machine et de sa traduction. Déjà sur juste 35 octets c'est du boulot.
Exemple, l'instruction
884c1301signifiant
mov BYTE PTR [ebx+edx*1+0x1],clil faut surement être très balaise pour la coder direct en langage machine.
7 août 2015 à 22:11
7 août 2015 à 22:18
Parce qu'aujourd'hui les calculs sont effectués par des processeurs, qui est le seul à traiter véritablement du binaire. Mais au niveau de l'ordinateur les instructions sont traités en langage machine, qui n'est plus du binaire.
Voir :
https://fr.wikipedia.org/wiki/Langage_machine
https://fr.wikipedia.org/wiki/Instruction_machine
https://fr.wikipedia.org/wiki/Jeu_d'instructions
7 août 2015 à 22:48
7 août 2015 à 23:14
Si on utilise des langages de programmation c'est pour gagner en productivité, on ne pourrait pas coder des systèmes informatiques complet (internet par exemple) si on devait le faire en binaire. Donc on utilise les langages de programmation pour aller directement à l'essentiel sans tout recoder à chaque fois.
Comment fonctionne Java par exemple ?
Le code est écrit dans un fichier texte lisible (très loin du binaire) qui sera ensuite réécrit dans un langage intermédiaire (le bytecode) qui est par un autre programme (la machine virtuelle). Cette machine virtuelle a été codée en C++ et est compilé dans un langage propre au système d'exploitation (.exe pour Windows, .so pour Linux...) et c'est le système d'exploitation qui transmet les instructions machines au processeur, qui les traite en binaire.
Donc si envoyer un mail en Java c'est facile, c'est parce qu'il y a derrière des millions de lignes de codes (dans la machine virtuelle ou le système d'exploitation) qu'il faudrait reprendre de zéro pour tout refaire en instructions machines...
8 août 2015 à 10:38