Re: [debutant] L' Assembleur
Le Dimanche 22 Juillet 2001 10:55, vous avez écrit : > > Dimanche 22 Jul 2001 à 00:47:58, Le Bot Jean-Michel écrivait : > > --- > > Je suis en train de lire le livre de Linus Torvalds (Il était une fois > > Linux, éditions OEM). Le père de notre OS favori y raconte comment dans > > la première moitié des années 80, avec son Commodore Vic-20 puis son > > Sinclair QL, il programmait en langage assembleur voire même en langage > > machine (alors que C existait déjà, cf. p. 71) !!! Il ne faut pas être surpris comme ça. Quand on est au niveau "système", il faut obligatoirement ecrire des fonctions en assembleur, parce que tout ce que tu as à ta disposition, c'est le langage C. El le langage C ce n'est rien d'autre qu'un vaste néant... tout juste une 20aine de mots clef si ma mémoire est bonne. Quand tu fais un simple "printf" , tu appelles une fonctiond de la librairie stdio qu'il a bien fallu écrire, et qui est propre au système. De même que quand tu déclares un char[] tu déclares en fait un tableau basé sur le type int (qui n'est pas un entier, mais qui est le "mot machine") seul et unique type du langage C. Donc, tu comprendras bien qu'il faut disposer de fonctions élémentaires, lesquelles ne peuvent pas être écrites en C ... parce que le langage C ne le permet pas. Quand à l'histoire de programmer directement en langage machine, je l'ai moi-même fait. La raison en est simple. J'avais un TRS-80 doté de 16Ko (oui kilo-octets) de RAM. Lorsque j'avais chargé le compilateur assembleur, par manque de RAM je ne pouvais compiler grosso-modo qu'un code source produisant environ 4Ko de code binaire. Si mon programme executable devait faire plus de 4Ko, il me fallait donc trouver une autre solution. J'ai donc utilisé le débugger, outil proche du "debug" du DOS pour ceux qui connaissent, qui n'occupait qu'1 ou 2 Ko de RAM, je pouvait donc produire un binaire de plus de 10 Ko & le sauvegarder. J'écrivais donc mon code assembleur, et je le "compilais" à la main. Ne soyez pas impressionnés, je parle d'ASSEMBLEUR pas de MACRO-ASSEMBLEUR (comme MASM). On était donc limité au jeu d'instruction du CPU, on n'avait pas de macro-instruction du type IF ... En fait la seule chose que permettait ce genre d'assembleur était de mettre des noms symboliques en colonne 1, et l'adresse de ces noms était résolue par le compilateur, ainsi que des vommentaires en colonne 4. Ca donnait des truc du genre : LOOPXOR A ; RAZ DE L ACCUMULATEUR LDIR CALLMYSUB ; FAIRE LES CALCULS JP NZ,LOOP ; BOUCLER SI PRECISION PAS ATTEINTE RET ; FIN DE ROUTINE MYSUB ADD ... Dans cet exemple, on voit que chaque instruction assembleur est effectivement une des instruction élémentaire du CPU Z80, et comme quand on code en assembleur, on a la liste du jeu d'instruction, et on a pour chaque instruction son code machine. Par exemple, JP NZ,LOOP on a dans la doc "saut si l'accumulateur n'est pas à zéro". Code machine : C6LLHH où HH l'octet de poids fort et LL celui de poids faible de l'adresse où aller. De même pour CALL MYSUB on voit dans la doc "CDLLHH" Alors là, c'est plus problématique, parce qu'il faut compter à la main le nombre d'octets qu'occupent les instructions suivantes pour savoir à quelle adresse va ser retrouver le début de la routine MYSUB (en l'occurrence ca fera 4 octets plus loin : 3 pour le CALL (CDLLHH) et un pour le RETurn (C9). mais mis à part ce petit détail de calcul d'adresses à la main, c'est exactement la même chose que de coder en assembleur "pur" (pas macro-assembleur) ou en langage machine... faut juste faire un peu plus gaffe aux fautes de frappes ;-) (note, les valeurs que j'ai données sont complètement bidon, je ne me souviens plus du jeu d'instruction Z80, mis à part C9 pour le RET).
[debutant] adsl adaptateur ethernet
Bonjour ! Ma carte ethernet et mon modem adsl fonctionnent bien sous win98 mais sous linux apres la commande adsl-start (adsl-setup c'est bien dérouler) ..TIME OUT et adsl-status me donne ceci : could not find interface corresponding to pppd pid Quelqu'un a une idée ... Merci! JLB
Re: [debutant] halt et reboot
Cornet Benoit wrote: > Salut tout le monde, > > Il y a quelques jours, quelqu'un a parlé d'arrêt rapide en utilisant la > commande 'halt' grâce à un raccourci sur le bureau. Comment donner les droits > sur la commande à tous les utilisateurs? En plaçant le bit SUID sur la commande en cause. eg : chmod +s /sbin/halt Frantz > > (je n'ai pas retrouvé le message dans les archives) > > Merci > > Benoit
Re: [debutant] Table de partition - new
christophe wrote: > Bonjour > > Lors de la discusion sur la perte de la table de partition de G.6, > Frantz Orjollet a indiqué une commande permettant de visualiser > sa table de partition. > > Voici le résultat de cette commande sur mon poste : >Disque /dev/hda : 240 têtes, 63 secteurs, 3953 cylindres >Unités = cylindres sur 15120 * 512 octets > > Périphérique AmorceDébut FinBlocs Id Système > /dev/hda1 * 216 217 8032 83 Linux > La partition 1 ne se termine pas à la limite du cylindre : > phys=(216, 179, 62) devrait être (216, 239, 63) > /dev/hda2 867 3953 29405 Etendue > La partition 2 ne se termine pas à la limite du cylindre : > phys=(1023, 119, 63) devrait être (1023, 239, 63) >/dev/hda3 1 216 1630566e Win95 FAT16 (LBA) > La partition 3 ne se termine pas à la limite du cylindre : > phys=(215, 164, 63) devrait être (215, 239, 63) >/dev/hda4 218 866 4906440 83 Linux >/dev/hda5 867 900257008+ 82 Echange Linux >/dev/hda6 995 2349 10233373+ 83 Linux >/dev/hda7 2349 3953 12129043+ 83 Linux >/dev/hda8 901 994710608+ 83 Linux > > Les entrées de la table de partitions ne suivent pas l'ordre du disque. Que la dénomination des partitions ne suive pas l'ordre physique n'est pas un problème, par contre, sûr que l'on puisse retoucher le partitionnement sans risques avec fdisk, ni que l'on puisse recréer cette table avec fdisk. S'il y a un spécialiste sur la liste, je souhaiterais avoir un éclairage sur les messages du type "La partition n ne se termine pas à ...", et les conséquences sur ce que celà implique. Au fait, avec quoi ce disque a-t-il été partitionné ? frantz > > > Question : Est-ce grave docteur? > > Question subsidiaire : Si c'est grave, que faire en sachant qu'à part /boot, > et la petite partition daube (presque vide) tout est en reaiserfs et pour > l'instant le disque est quasi plein comme le montre le df suivant : > Filesystem 1k-blocks Used AvailableUse% Mounted on > /dev/hda4 4906284 2192548 2713736 45% / > /dev/hda1 7776 1699 567623% > /boot > /dev/hda6 10233052 9332064 900988 91% /home > /dev/hda8 710564117848 59271617% >/iso > /dev/hda3 1630336 97568 1532768 6% >/mnt/windows > /dev/hda7 12128664 11741480 387184 97% /mp3 Il faudrait réduire hda3 pour agrandir hda6 (hda7 éventuellement), mais personnellement, je ne le ferais pas tant que je n'aurais pas d'explication sur les messages d'erreur de fdisk. > > > Merci de votre aide > Christophe.
Re: [debutant] WP-8 et "référence"
Bernard Lambey wrote: > Bon dimanche à tous, > > Je vous ai dit que je revenais à la 7.2 pour récupérer mon TT favori, > car je ne suis pas sous Linux juste pour le plaisir de programmer le > bon fonctionnement de mon OS ! ... > Donc je voulais reprendre mon travail sous WP-8 et là, catastrophe, > ça ne marche plus, alors là, je suis proche de la déprime totale ! ... > > Dans mes textes , j'ai l'habitude ne noter en tête des éléments de > référence, me permettant ensuite des classements... mais on rentre là > dans des trucs qui ne regardent personne d'autre que moi !;-)) > Donc quand, sous WP, je tape "Réf..." en début de ligne à ce moment > là, tout se referme et je suis craché en dehors de WP ! > Je n'y comprends rien !!! > > Si qq'un utilise WP8 sous la 7.2 avec KDE 2.1 a-t'il le même pb ??? > Mais , hélas, je ne crois pas qu'il y ait beaucoup d'amateurs de WP-8... Bonjour, Il y a fort longtemps, lors de sa sortie sous Linux, j'avais installé WP-8 en version américaine, et il fonctionnait à peu près. Quand peu de temps après, j'installais la V.F. distribuée avec une revue (la seule à l'époque), je connus les mêmes problèmes que vous (Fermeture inopinée de WP lors de la saisie de certains mots + d'autres disfonctionnements, genre mauvaise gestion des taquets de tabulation par ex.). Le problème en ce qui me concerne fut réglé par la désactivation de la correction orthographique instantanée. En espérant que vous pourrez continuer votre travail, Frantz Ce mot là est-il parfait ? > > > A vous lire > Bonjour chez vous > Bernard L. > -- > " Quand le sentiment et l'émotion se substituent aux idéaux de la Raison, > " et qu'à la logique de l'identité succède la logique de l'affect: nous som- > " mes entrés dans l'ère des "tribus", des réseaux, des petits groupes, et > " vivons à l'heure des rassemblements éphémères et effervescents... " > Michel Maffesoli "Les Groupes" (Prof. Sociologie à Université-Paris V)
Re: [debutant] WP-8 et "référence"
Le Sun, 22 Jul 2001 16:16:26 +0200 Bernard Lambey a écrit: > Si qq'un utilise WP8 sous la 7.2 avec KDE 2.1 a-t'il le même pb ??? > Mais , hélas, je ne crois pas qu'il y ait beaucoup d'amateurs de WP-8... Voilà pas mal de temps que je n'avais plus utilisé WP8 sous Linux. Entre-temps, je suis passé à Mandrake 8.0. J'ai voulu l'installer ce soir... mais problème de serveur X ! Renseignements pris sur un forum Corel, il faut installer des paquetages libc-5 pour que ça marche. Je l'ai fait, WP8 fonctionne sous Mandrake 8.0 apparemment tout à fait correctement. Pour tester, j'ai ouvert un document créé sous Windows; aucun problème. Les paquetages "libc-5" que j'ai installés : ftp://fr2.rpmfind.net/linux/Mandrake/8.0/i586/Mandrake/RPMS//libc-5.3.12-35mdk.i586.rpm ftp://fr2.rpmfind.net/linux/redhat/6.1/en/os/i386/RedHat/RPMS//ld.so-1.9.5-11.i386.rpm P.S. D'accord avec toi pour affirmer que WP est de loin le meilleur traitement de texte sous Windows ... sous Linux, le choix de polices est plutôt maigre et l'éditeur d'équation est réservé à la version commerciale, dommage ! Cordialement, Pierre
[debutant] désabonnement
désabonnement
[debutant] WP-8 et "référence"
Bon dimanche à tous, Je vous ai dit que je revenais à la 7.2 pour récupérer mon TT favori, car je ne suis pas sous Linux juste pour le plaisir de programmer le bon fonctionnement de mon OS ! ... Donc je voulais reprendre mon travail sous WP-8 et là, catastrophe, ça ne marche plus, alors là, je suis proche de la déprime totale ! ... Dans mes textes , j'ai l'habitude ne noter en tête des éléments de référence, me permettant ensuite des classements... mais on rentre là dans des trucs qui ne regardent personne d'autre que moi !;-)) Donc quand, sous WP, je tape "Réf..." en début de ligne à ce moment là, tout se referme et je suis craché en dehors de WP ! Je n'y comprends rien !!! Si qq'un utilise WP8 sous la 7.2 avec KDE 2.1 a-t'il le même pb ??? Mais , hélas, je ne crois pas qu'il y ait beaucoup d'amateurs de WP-8... A vous lire Bonjour chez vous Bernard L. -- " Quand le sentiment et l'émotion se substituent aux idéaux de la Raison, " et qu'à la logique de l'identité succède la logique de l'affect: nous som- " mes entrés dans l'ère des "tribus", des réseaux, des petits groupes, et " vivons à l'heure des rassemblements éphémères et effervescents... " Michel Maffesoli "Les Groupes" (Prof. Sociologie à Université-Paris V)
[debutant] Installation de la Mandrake 8.0 (IV)
Je poursuis mes tests sur la MPP 8.0 o) Compilation de xsane 0.78 Aucun problème. p) Horloge hardware / Système / Synchronisation (Comment mettre les pendules à l'heure) I - Généralités Il semble y avoir un sérieux problème de paramétrage de l'horloge système avec la MPP 8.0 d'après les réponses que j'ai reçues sur le sujet. Avant de discuter plus en détail adoptons quelques définitions en ce qui concerne les horloges dont nous disposons : - horloge hardware : c'est une horloge qui conserve l'heure et la date quelle que soit l'état de l'ordonateur allumé ou éteint. Linux et Windows s'en servent. J'ignore si elle est en GMT ou pas logiquement oui. Dans tous les cas il lui faut en plus une référence GMT ou GMT + n (pour nous n=2 pour l'instant). - horloge système activée dès le boot et qui s'affiche en bas sur la barre des tâches. Elle -pour des raisons pratiques- indique l'heure locale et sa référence est fournie par le fuseau horaire du lieu qui se définit en lieu géographique par exemple "Europe / Paris" ou en référence explicite GMT + 2. Quand on allume l'ordinateur le système initialise l'horloge système à partir de l'horloge harware en utilisant les références des 2 horloges. Quand on quitte j'ai vu un message du type "syncing hardware clock to system time" ce qui voudrait dire qu'avec la MPP 8.0 systématiquement quand on quitte l'horloge hardware est synchronisée sur l'horloge système ce qui n'était pas le cas avec la MPP 7.2. Est-ce lié à un service sélectionné au démarrage comme "linuxconf" ? Mystère. II - Réglage de l'horloge système Cette opération se fait en mode "root". 2 possibilités pour cela : 1) Centre de contrôle Mandrake : - fuseau horaire : Chez moi Paris - Votre horloge système est-elle réglée sur GMT ? Je pense qu'on parle de l'"horloge système définie" plus haut !). Chez moi = non (je rappelle que quand on installait la MPP 7.2 il était dit que sur un système côtoyant Windows comme chez moi il fallait répondre non !). Quand je fais "Accepter" la fenêtre se grise sans message d'erreur interdisant donc tous nouveaux changements. Probablement un bug ! 2) Panneau de contrôle KDE (Date & Time) : Accessible aussi sur l'icône de l'horloge dans la barre des tâches. - heure affichée = heure locale - fuseau horaire ? Chez moi UTC ! Si je tente une modification je vois : - fuseau horaire courant = UTC ? - pour le choix de fuseau horaire : Europe / Paris ? si je fais "Appliquer" j'obtiens le message d'erreur "Erreur pendant l'établissement du nouveau fuseau horaire" ! Cela fait malgré tout reculer mon heure affichée de 2 heure. Il y a définitivement un problème avec la référence UTC dont j'ignore la signification. Comment modifier cela ! Existe-t-il quelque part un fichier éditable ? J'ai vu des propositions pour choisir Madrid comme fuseau horaire mais rien n'y fait. III - Synchronisation de l'horloge système sur horloge site ntp Si après connexion Internet j'exécute en mode root la commande : # ntpdate ntp-sop.inria.fr je recois l'heure GMT (-2 par rappotr à l'heure système) et donc mon horloge système recule de 2 heures comme si la référence de l'horloge système était GMT ! Donc pb. Quand le problème d'horloge sera résolu j'indiquerai comment automatiser tout cela. A chaque jour suffit sa peine et donc c'est tout pour aujourd'hui. -- Daniel Moyne (Nulix)-- Software : Mandrake Power Pack 8.0 avec kernels "2.4.3-20mdk" Hardware : PC Celeron (Mendochino) 400 Mhz 128 Mo Ram Lecteur de disquette 3.5" / HD Ide (M) 4 Go + (S) 20 Go / HD 4.3 Go SCSI Graveur Yamaha 8x8x24 SCSI / Carte graphique AGP 3Dfx / Lecteur CD 40X Ide Carte son PCI SounBlaster Live ! / Analogue Joystick sur port midi-joystick Lecteur Zip Iomega SCSI\\|//Modem OLITEC Speed Voice 56000 Carte SCSI Tekram DC-395UW/ --- \ Imprimante DeskJet HP 850C Vision Master 17" Iiyama Monitor (' o-o ') Scanner UMAX Astra 1220S SCSI oOO-(_)-OOo
[debutant] halt et reboot
Salut tout le monde, Il y a quelques jours, quelqu'un a parlé d'arrêt rapide en utilisant la commande 'halt' grâce à un raccourci sur le bureau. Comment donner les droits sur la commande à tous les utilisateurs? (je n'ai pas retrouvé le message dans les archives) Merci Benoit
Re: [debutant] Langages assembleur et machine
Le Samedi 21 Juillet 2001 18:47, Le Bot Jean-Michel a écrit : > Je suis en train de lire le livre de Linus Torvalds (Il était une fois > Linux, éditions OEM). Le père de notre OS favori y raconte comment dans la > première moitié des années 80, avec son Commodore Vic-20 puis son Sinclair > QL, il programmait en langage assembleur voire même en langage machine > (alors que C existait déjà, cf. p. 71) !!! C'était tout à fait courant à l'époque avec des machines lentes (ex perso ma prémiére machine : Z80 1Mhz, 64K de mémoire, stockage des programmes sur PROM car le lecteur de cassette n'était pas fiable), les compilateurs étaient chers et encombrants dans le cas de petites configurations. Sur un Apple II, il fallait jongler avec les disquettes pour compiler 1 programme pascal UCSD. Les compilateurs se sont répandus avec l'apparition des disques durs. > Question : est-ce que ce genre de chose est toujours possible aujourd'hui ? > Puis je écrire "Bonjour Monde" dans une console en le programmant > directement en langage assembleur voire en langage machine ? Si oui comment > ? > (C'est l'expérience historique qui m'intéresse, un peu comme celle de Thor > Heyerdhal traversant le Pacifique avec le Kon-Tiki pour essayer de > comprendre comment ce fut possible des siècles auparavant). > Alors, si quelqu'un sait... merci d'avance Bonjour, Voici quelques éléments de réponse : Le langage assembleur demande une connaissance précise de l'architecture du processeur cible (fonctionnement des registres, des interruptions, de l'adressage,..). La synthaxe est spécifique à chaque famille de processeur ( Motorola, Intel, ARM, etc..) avec des séries d'instructions spécifiques à une sous-famille (ex: MMX sur Pentium). A cause de cela un programme optimisé pour un pentium ne pourra pas être assemblé en 386 puisque certaines instructions seront inconnues et encore moins sur un motorola puisque le language est complétement différent. L'idée est donc d'utiliser un langage de plus haut niveau indépendant de la machine de type c, le compilateur se chargeant de générer le code assembleur nécessaire à l'architecture utilisée. A titre d'exemple : -Créer un directory essc - y créer le fichier bonjour.c contenant les 5 lignes suivantes: #include void main() { printf("Bonjour monde.\n"); } - compiler avec : gcc bonjour.c -o bonjour - lancer le programme généré avec : ./bonjour -pour voir le code assembleur nécessaire faire un : gcc -S bonjour.c - éditer le fichier bonjour.s Amicalement. -- JB JACQUET [EMAIL PROTECTED]
[debutant] COMPILATION ET CONFIGURATION
Bonjour, Je suis un tout nouvel utilisateur de linux (avec KDE et Gnome). J'ai installé la version 8 de Mandrake avec noyau 2.4.3.20mdk et je n'arrive pas à compiler mon noyau. La fonction que je tente d'executer à partir de /usr/src/linux et qui est "make xconfig" ou "make menuconfig" ne séexecute pas! D'autre part je n'arrive pas à configurer ma carte son (une Yamaha 740 S et mon graveur CD Yamaha 8/4/24 IDE). Merci de rèpondre à un nouvel utilisateur !! PS: comment envoyer en format ASCII ___ Do You Yahoo!? -- Vos albums photos en ligne, Yahoo! Photos : http://fr.photos.yahoo.com
Re: [debutant] L' Assembleur
Tu devrais trouver ton "bonheur" sur : http://www.freenix.fr/unix/linux/HOWTO/Assembly-HOWTO.html > Dimanche 22 Jul 2001 à 00:47:58, Le Bot Jean-Michel écrivait : > --- > Je suis en train de lire le livre de Linus Torvalds (Il était une fois Linux, > éditions OEM). Le père de notre OS favori y raconte comment dans la première > moitié des années 80, avec son Commodore Vic-20 puis son Sinclair QL, il > programmait en langage assembleur voire même en langage machine (alors que C > existait déjà, cf. p. 71) !!! > Question : est-ce que ce genre de chose est toujours possible aujourd'hui ? > Puis je écrire "Bonjour Monde" dans une console en le programmant directement > en langage assembleur voire en langage machine ? Si oui comment ? > (C'est l'expérience historique qui m'intéresse, un peu comme celle de Thor > Heyerdhal traversant le Pacifique avec le Kon-Tiki pour essayer de comprendre > comment ce fut possible des siècles auparavant). > Alors, si quelqu'un sait... merci d'avance
[debutant] L' Assembleur
> Dimanche 22 Jul 2001 à 00:47:58, Le Bot Jean-Michel écrivait : > --- > Je suis en train de lire le livre de Linus Torvalds (Il était une fois Linux, > éditions OEM). Le père de notre OS favori y raconte comment dans la première > moitié des années 80, avec son Commodore Vic-20 puis son Sinclair QL, il > programmait en langage assembleur voire même en langage machine (alors que C > existait déjà, cf. p. 71) !!! > Question : est-ce que ce genre de chose est toujours possible aujourd'hui ? > Puis je écrire "Bonjour Monde" dans une console en le programmant directement > en langage assembleur voire en langage machine ? Si oui comment ? > (C'est l'expérience historique qui m'intéresse, un peu comme celle de Thor > Heyerdhal traversant le Pacifique avec le Kon-Tiki pour essayer de comprendre > comment ce fut possible des siècles auparavant). > Alors, si quelqu'un sait... merci d'avance ~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~= On peut te faire deux réponses : il est extrêmement simple d'écrire des caractères sur l'écran en mode texte : il suffit de connaître l'adresse du début de l'écran et d'écrire en hexadécimal avec khexedit, par exemple. Or le langage machine, c'est ça: de l'hexadécimal, juste de l'hexadécimal posé à des adresses précises, écran, mémoire, opérations à réaliser etc... L'assembleur est une codification de cet hexa, pour éviter d'avoir à écrire (je l'ai fait, il y a bien longtemps...) des fleuves de chiffres hexa. Mais 1) il faut connaître la notion de registres, et la manipulation des data (hex) dans ces registres est très facile, mais très "détaillée". En faisant cela tu auras écrit un source. 2) il te faut disposer d'un compilateur, qui n'est autre qu'une moulinette qui va transformer ton source (manip d'hex dans les registres) en codes hexa de première génération, et c'est tout. Possible dans une console Linux ? je n'en sais rien, mais si tu peux booter ta machine sous Dos en alternative à Linux, là tu pourras te régaler avec Masm (assembleur de base), c'est très amusant et efficace. Un pg compilé qui te fait la conversion de chiffres introduits au clavier de décimal à hex tient dans un kilo-octet, un calendrier perpétuel qui te donne le jour de la semaine pour toute date depuis l'an 0 (j'en ai fait un) tient dans quelques kiloctets... On est très loin des pg actuels... Si tu veux Masm, dis le moi, je te l'enverrai sur disquette avec quelques exemples de programmation assembleur. Mais tu trouveras encore un bouquin à la Fnac là dessus, même si on te regarde bizarrement ! ;-))) Salut Bernard L. -- " Quand le sentiment et l'émotion se substituent aux idéaux de la Raison, " et qu'à la logique de l'identité succède la logique de l'affect: nous som- " mes entrés dans "l'ère des "tribus", des réseaux, des petits groupes, et " vivons à l'heure des rassemblements éphémères et effervescents... " Michel Maffesoli "Les Groupes" (Prof. Sociologie à l' Université-Paris V).