IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Programmer sans aucun outil


Sujet :

Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de Ethan 0x21
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2006
    Messages : 120
    Par défaut Programmer sans aucun outil
    Boujour tout le monde, j'aimerais savoir comment il serait possible de développer des logiciels pour Pc, sans aucun outil de programmation; je sais que c'est possible mais comment alors ça ( ). A vrai dire, je me pose ces questions car je me demande comment les outils avec lesquels on programme justement étaient programmés si, justement, avant, il n'y avait pas d'outils pour programmer... (Je pense qu'une bonne aspirine serait la bienvenue... ). Je sais que j'ai l'esprit tordu mais j'aimerais quand même savoir.

    Merci pour vos réponses, elle m'éviteront de prendre trop d'aspirine

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 70
    Par défaut
    En imaginant surement que pour le PC, les 1er programmes ont été compiler par d'autres machines. Il est tout à fait possible d'écrire un programme sans compilateur, tu prends ton programme assembleur (écrit sur papier), chaque op code correspond un code hexa (cf doc intel) (c'est le seul langage que comprenne la machine), tu transcrit tout en hexa (en calculant le saut et le reste), voila tu as un fichier prêt à l'emloi (pour un boot par exemple) (sinon pour le reste c'est pas aussi simple il y a d'autres truc à faire: header, idt, etc...). c'est grosso modo ce que fait un compilateur

    Et en remontant à la préhistoire des ordinateurs (je parle pas des PC) les programmes était effectivement écrit directement en binaire sur des cartes que l'ont perforé et que l'on entrer dans la machine. (mais il y avait alors beaucoup moins d'instructions)

  3. #3
    Membre chevronné Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Par défaut
    Au début il n'y avait pas le choix il fallait ecrire les programmes directement en langage machine.
    Mais j'imagine qu'assez rapidement par facilité on a crée le langage assembleur, qui n'est qu'une "traduction" en anglais du langage machine ( 1 instruction langage machine = 1 instruction assembleur dans la plupart des cas).
    Pour ca on a programmer des compilateurs de langage assembleur, en langage machine.
    Puis a partir de l'assembleur on a pu developper des langages plus évolué en programmant leur compilateur en assembleur (j'imagine).

    En gros ça doit être ça, corrigez moi si je me trompe. C'est pour lui donner une vision globale de comment ça a du se passer.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,
    Citation Envoyé par DegubError
    Et en remontant à la préhistoire des ordinateurs (je parle pas des PC) les programmes était effectivement écrit directement en binaire sur des cartes que l'ont perforé et que l'on entrer dans la machine. (mais il y avait alors beaucoup moins d'instructions)
    Ca, c'était déjà évolué, très loin de la préhistoire (disons la renaissance ?)

    Au tout début, il y avait une rangée d'interrupteurs, et il fallait y entrer la suite d'instructions/données en binaire, puis la valider avant de passer à la suivante...
    (C'étaient, dit la légende, les femmes des inventeurs qui faisaient ce boulot manuel).

  5. #5
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Par défaut
    La question est pertinente !

    Le premier ordinateur (quel qui soit) sort aujourd'hui, ce dernier permet l'exécution d'instructions machine.

    Mais voilà il n'existe aucun outil pour pouvoir créer un secteur de boot et pourtant il en faut un pour initier tout travail avec le microprocesseur. Alors comment on fait ?

    Je pense que la seule solution vient du fondeur lequel fournit le strict minimum juste de quoi faire ton boot depuis un média. Et voilà.

    A partir de là tu réinventeras la roue !

  6. #6
    Membre chevronné Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Par défaut
    Ben pour le "vrai" boot c'est le bios qui s'en charge, et le bios est inscrit en mémoire morte sur la carte mère.

    Evidemment pour pouvoir ecrire un prog en langage machine il faut au moins que le pc démarre et qu'il te donne la possibilité d'ecrire qqch au clavier.
    Ce qui, s'il n'y a pas d'OS (genre le DOS) est impossible.
    C'est pour ça que la plupart des premiers PC( au moins les IBM) chargeait un interpreteur BASIC (qui etait codé en memoire morte) au démarrage quand ils ne trouvaient pas d'OS. Et à partir de la tu pouvais programmer en basic pour "construire" le reste.

    Sinon tu n'avais pas d'autre choix que d'inserer une disquette de demarrage qui allait charger ou installer un OS.

    Donc comme tu peux le voir, pour avoir un pc operationnel il faut au moins qu'il y ai deja un bout de programme qui existe, soit sous la forme d'hardware (OS qui aurait été incorporé sur la carte mere sous la forme d'une puce, comme le bios), soit sous la forme d'une disquette de démarrage.
    Alors tu vas demander comment ils font fait au début pour obtenir un programme sur disquette ou en hardware sur la carte mere.
    Ben pour la carte mere c'est facile, c'est comme pour le processeur ou le bios, c'est de l'electronique, un courant qui passe ou qui passe pas qui est symboliser pour nous par des 0 et des 1.
    Et en fonction du courant qui passe ou pas les autres composants réagissent d'une certaines maniere.
    Pour la disquette c'est la meme chose, c'est comme une K7 audio, ils ont magnétisé la disquette pour qu'elle contienne des 0 et des 1, et la tete de lecture du lecteur de disquette va décoder cette magnetisation et la transformer en courant electrique.

    La technologie permettait de magnetiser la disquette, et on avait conçu le processeur pour qu'il fasse tel operation en fonction de tel courant electrique.
    En clair on savait mettre des 0 et des 1 sur la disquette et on savait que quand le processeur recevait du courant sur tels conducteurs electrique il allait envoyer du courant sur tels conducteurs et ainsi de suite.

    Bon je sais pas si tout ça est très clair car je ne sais pas ce que tu sais et ce que tu ne sais pas et c'est difficile de faire un mini cours à quelqu'un dont on ne connait pas le niveau de connaisance.
    Surtout que pour ce genre de questions, chaque réponse peut donner une nouvelle question et on rentre de plus en plus profondément dans l'architecture de l'ordinateur pour finir au niveau purement electronique ce qui devient très abstrait pour quelqu'un qui ne s'y connait pas un minimum.
    Et y a moyen d'aller encore plus loin dans mon explication si tu te demandes comment le processeur fait une addition ( par exemple) a partir d'un courant electrique. Et la ca devient electronique ET algorithmique...

  7. #7
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    Je dirais qu'aujourd'hui c'est toujours techniquement possible, comme le soulignait les autres participants, mais il ne faut pas oublier qu'il faut la plupart du temps respecter un format de fichier exécutable (Portable Executable sous Windows ; ELF sous Unixoïdes, etc.) dont on ne peut pas s'affranchir.

    Ca rend toujours plus complexe encore le fait de coder à la main directement un fichier exécutable, les formats de fichiers exécutables ayant subient de multiples ajouts au fil du temps (et donc pris de l'embonpoint), mais ça reste encore du domaine du possible (il faudrait vraiment être "un furieux" pour faire ça en tout les cas )

Discussions similaires

  1. [CS4] sans aucune notion en programmation
    Par Modang dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 30/10/2009, 08h58
  2. Fenetre sans aucune barre d'outil
    Par guillaumeIOB dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 29/08/2006, 17h04
  3. [HTML / CSS ... ?] Tableau sans AUCUNE marge
    Par PierrotY dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 19/04/2005, 11h13
  4. Gestion d'un programme sans Souris ! ???
    Par altahir007 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 03/04/2003, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo