# Programmer en assembleur sur Mac



## theverglades (9 Novembre 2006)

Bonjour, 

Comme j'en ai marre de me faire recaler aux entretiens d'embauche parce que je ne sais pas programmer en assembleur. J'ai donc décidé de m'y mettre! 

J'aimerai savoir quels sont les outils que j'ai besoin pour programmer en assembleur sur un mac (PPC).

Merci beaucoup.


----------



## molgow (9 Novembre 2006)

Tu postules pour quel genre de poste pour qu'on te demande de savoir programmer en assembleur ???


----------



## Warflo (9 Novembre 2006)

Fais attention, le language assembleur de ton mac et celui des PCs ou Mac-Intel n'est pas le même. Donc si on veut que tu sache programmer pour tu x86, tu ne pouras pas (je crois?) apprendre à le faire sur ton mac.


----------



## p4bl0 (9 Novembre 2006)

Il existe encore des boulots ou faut absolument savoir cod&#233; en assembleur ???
M&#234;me les couches logiciels de bas niveau (EFI) sont maintenant faites en C/C++...


Sinon, l'assembleur c'ets pas le m&#234;me suivant le processeur, donc &#231;a ne te servira pas &#233;norm&#233;ment d'apprendre l'assembleur sur un PPC si au boulot tu bosse sur du x86 :casse:





EDIT: eh merde, j'ouvre plusieurs threads dans diff&#233;rents onglets et le temps que j'en lise 5 ou 6 y a d&#233;j&#224; deux r&#233;ponse... :rateau:


----------



## theverglades (9 Novembre 2006)

Merci les gars pour vos réponses!

En fait je suis électronicien de formation. Et en électronique il y a des microcontroleurs qui se programme en assembleur... On m'a également demandé si j'étais capable de développer des logiciels sous windows en assembleur...


----------



## Trax (9 Novembre 2006)

Faut pas charier non plus, là. MOV, ça reste MOV, peu importe le processeur. Il y a des bases en ASM qui sont indépendantes des processeurs...


----------



## p4bl0 (9 Novembre 2006)

Ah d'accord, je comprend mieux maintenant le pourquoi de l'assembleur 
(sauf pour les logiciels).

Par contre j'ai rien trouver dans google comme cours sur l'assembleur ppc, peut-&#234;tre qu'il y a des bouquins.

Pour les logiciels, il faut un &#233;diteur de texte et un assembleur.

http://nasm.sourceforge.net/ (apparement down pour l'instant... et je sais pas si &#231;a marche d&#233;j&#224; sur osx)
http://ask.slashdot.org/article.pl?sid=05/02/10/1423258 (un article qui pourrait l'int&#233;resser)


----------



## tatouille (9 Novembre 2006)

Trax a dit:


> Faut pas charier non plus, l&#224;. MOV, &#231;a reste MOV, peu importe le processeur. Il y a des bases en ASM qui sont ind&#233;pendantes des processeurs...



et non d&#233;j&#224; pour les familles RISC / MIPS il existe de tres grosses diff&#233;rences 

si tu veux faire de l'assembler sur microcontroller atmel c'est tres fesable sur mac
gcc est ton ami pour cela



deux bouquins incontournables  

* The Art of Assembly Language - Randall Hyde
Introduction to RISC Assembly Language Programming - John Waldron*



_ pour Windows :
l'assembler VMDOS est particuli&#233; c'est de la *** 

_ 
la platforme  par exellence pour l'ASM x86 ( t&#233;l&#233;phonie / pda ecetera )
c'est GNU/Linux

* Embedded Linux System Design and Development - P. Raghavan, Amol Lad and Sriram Neelakandan*


----------



## tatouille (9 Novembre 2006)

truk2oof a dit:


> Il existe encore des boulots ou faut absolument savoir cod&#233; en assembleur ???
> M&#234;me les couches logiciels de bas niveau (EFI) sont maintenant faites en C/C++...
> 
> 
> ...



oui mais ce n'est pas pour &#231;a qu'il n'y pas de verifications coter C

asm ( 
ma verif
)

quand tu es un electronicien ce qui t'interresse c'est ta cible 
ici un microcontrolleur 

il ne faut pas confondre avec d&#233;veloppement sur OS

apprendre l'assembler risc ppc mips x86 peu importe
il faut des fondamentaux ( 
theverglades en a une bonne partie puisque etant electronicien
 le passage a l'assembler lui sera assez naturel 
)


----------



## theverglades (9 Novembre 2006)

merci !

J'en conclue que je suis dans la mer*e, car j'ai un entretien dans une semaine, le mec m'a dis de reviser mon assembleur mais il ne m'a pas dis pour quelle utilisation, il est impossible pour moi de savoir quel type d'assembleur je dois bosser...


----------



## boulifb (9 Novembre 2006)

theverglades a dit:


> Merci les gars pour vos réponses!
> 
> En fait je suis électronicien de formation. Et en électronique il y a des microcontroleurs qui se programme en assembleur... On m'a également demandé si j'étais capable de développer des logiciels sous windows en assembleur...


 
Des logiciels en assembleur sous Windows... on aura tout vu... Savent-ils de quoi ils parlent les recruteurs que tu vas voir? j'en doute  

Même le plus bête des pilotes Windows se programme en C.

La seule et l'unique couche écrite en assembleur sous Windows est la HAL (et encore, c'était vrai pour Windows NT il y a 10 ans). Tout (je dis bien tout) le reste est en C/C++ pour ce qui est du noyau. De là à programmer des applications en assembleur sous Win32, je demande à voir.

15 ans de programmation Windows dont 10 ans de professionnalisme, jamais je n'ai entendu d'assembleur sous Windows. Eventuellement MASM très peu utilisé et abandonné par MS. De plus, sous Windows, l'accès direct au matériel est prohibé par l'OS, même en C/C++. En réfléchissant beaucoup, il y a bien eMule qui utilise l'assembleur pour faire ses calculs de checksum...

Les microcontrôleurs en assembleur, je veux bien, mais des applications Windows...

Même les malheureuses calculatrices se programment en C de nos jours.

Pire encore, il est de plus en plus rare dans les entreprises de voir des gens qui savent programmer en C sous Windows. La plupart utilisent le C# pour celles qui utilisent les technologies MS.

Elles sont bizarres les entreprises que tu vas voir


----------



## Al_Copett (9 Novembre 2006)

En gros on peut dire qu'il y a 3 familles qui sont le plus souvent utilis&#233;es, MCS-51 d'Intel (8051,8052,etc), les AVR de Atmel et les PIC de Microchip.
Il y a chez Atmel et Microchip des outils de d&#233;veloppement avec &#233;mulateur des &#181;Controleurs mais qui tournent que sur PC, ce sont que je connais.
En cherchant sur sourceforge.net, tu trouveras peut-&#234;tre ton bonheur avec des outils de d&#233;vellopement pr&#233;vus pour Linux et port&#233;s sur OSX.

Ceci est une liste des plus courants en 8 bits, maintenant il y a les 16 et 32 bits (TI,Atmel,Intel,Microchip,Philips, Analog Device, etc...). On a plus que l'embaras du choix.

Intel 

http://www.intel.com/design/mcs51/docs_mcs51.htm 

Atmel famille MCS-51 (sous licence Intel) je suppose :

http://www.atmel.com/dyn/products/param_table.asp?family_id=604&OrderBy=part_no&Direction=ASC

Atmel famille AVR 

http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC

Microchip

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=64


----------



## Warflo (9 Novembre 2006)

Pour de l'assembleur PPC tu peux aller voir l&#224;:

http://www.timestocome.com/personal/mac.html

J'avais aussi trouv&#233; un lien sur le site d'IBM qui &#233;tait un how to&#8230; mais je l'ai perdu.

PS: On voit quand m&#234;me la complexit&#233; de l'assembleur il faut&#160;tout &#231;a pour dire "Hello World!" :rateau:


----------



## tatouille (9 Novembre 2006)

https://sourceforge.net/projects/jal/
http://www.voti.nl/wisp/

http://www.eecs.berkeley.edu/~mseeman/resources/macmicro.html
http://www.tigoe.net/pcomp/resources/archives/microcontrollers/misc_io_modules/index.shtml


----------



## tatouille (9 Novembre 2006)

theverglades a dit:


> merci !
> 
> J'en conclue que je suis dans la mer*e, car j'ai un entretien dans une semaine, le mec m'a dis de reviser mon assembleur mais il ne m'a pas dis pour quelle utilisation, il est impossible pour moi de savoir quel type d'assembleur je dois bosser...



bah tu peux nous donner le site web de la boite pour voir un peu ce qu'ils font cela donnera 
peut etre des indications


----------



## tatouille (9 Novembre 2006)

Warflo a dit:


> Pour de l'assembleur PPC tu peux aller voir là:
> 
> http://www.timestocome.com/personal/mac.html
> 
> ...



ca depend ca peut etre plus long


----------



## tatouille (9 Novembre 2006)

sinon pour ceux qui veulent faire un stage


sinon une semaine c'est short
je dirais l'ann&#233;e prochaine pour avoir de bonnes bases


----------



## p4bl0 (9 Novembre 2006)

boulifb a dit:


> Des logiciels en assembleur sous Windows... on aura tout vu... Savent-ils de quoi ils parlent les recruteurs que tu vas voir? j'en doute
> 
> Même le plus bête des pilotes Windows se programme en C.
> 
> ...


Ahlala... j'aimerais bien que ma calculatrice se programme en C, malheureusement, c'est du TiBasic, et c'est vraiment de la MERDE... je deteste &#231;a, en plus les prof de math en lyc&#233;e en savent moins que certains &#233;l&#232;ves sur ce domaine... c'est horrible.

Sinon en SI (Science de L'ing&#233;nieur, je suis en Terminal S, c'est une option) on &#224; un petit robot H&#233;misson avec capteur d'ultrason et capteur de lumi&#232;re qu'on programme en "turbo C"  (c'est comme du c mais en moche) et un des logiciel qu'on utilise (sous windows &#233;videmment est PIC C (IDE).
L&#224; encore, je suis plus cal&#233; que le prof... &#231;a craint mais bon... le prof sort des &#226;neries pas possible de temps en temps, en me regardant l'air de dire "me fait pas passer pour un abruti une fois de plus, garde ta remarque pour toi..." c'est marrant


----------



## tatouille (9 Novembre 2006)

truk2oof a dit:


> Ahlala... j'aimerais bien que ma calculatrice se programme en C, malheureusement, c'est du TiBasic, et c'est vraiment de la MERDE... je deteste &#231;a, en plus les prof de math en lyc&#233;e en savent moins que certains &#233;l&#232;ves sur ce domaine... c'est horrible.
> 
> Sinon en SI (Science de L'ing&#233;nieur, je suis en Terminal S, c'est une option) on &#224; un petit robot H&#233;misson avec capteur d'ultrason et capteur de lumi&#232;re qu'on programme en "turbo C"  (c'est comme du c mais en moche) et un des logiciel qu'on utilise (sous windows &#233;videmment est PIC C (IDE).
> L&#224; encore, je suis plus cal&#233; que le prof... &#231;a craint mais bon... le prof sort des &#226;neries pas possible de temps en temps, en me regardant l'air de dire "me fait pas passer pour un abruti une fois de plus, garde ta remarque pour toi..." c'est marrant



tu ne veux pas m!inviter une fois  qu'on rigole


----------



## p4bl0 (9 Novembre 2006)

tatouille a dit:


> tu ne veux pas m!inviter une fois  qu'on rigole


Lyc&#233;e Marseilleveyre dans le 8&#232;me arrondissement de Marseille.

lundi aprem' de 13h10 &#224; 17h30 (les 4 heures de SI elec', il y a aussi 4 heures de m&#233;ca, mais l&#224; le prof (un autre) il sait ce qu'il fait )



P.S.: c'est la salle &#224; cot&#233; de celle qui est &#224; cot&#233; du CDI.




   

P.S.: C'est trop bien Benjamin viens de fusionner mes deux comptes (truk2oof et p4bl0) !! je m'appelle plus truk2oof !!!!!!!! :love: :love:


----------



## Céroce (10 Novembre 2006)

theverglades a dit:


> merci !
> le mec m'a dis de reviser mon assembleur mais il ne m'a pas dis pour quelle utilisation



Laisse-moi deviner, tu vas travailler pour une SSI?
La très grande majorité des commerciaux n'y connaissent absolument rien, pour eux "Assembleur" est un mot clé comme les autres dans leur base de données. Alors pour qu'ils comprennent qu'il est différent pour chaque processeur...


Je travaille sur des calculateurs embarqués (dans l'aéronautique), et les électroniciens programment en C 98% du temps. Il est très rare d'avoir recours au langage d'assemblage.


Pour revenir à l'entretien, dis que tu connais, de toute façon ton interlocuteur n'y connait sans doute rien. Renseigne toi sur ce qu'est une pile, un registre d'état et le Program Counter. Ca devrait suffir!


----------



## tatouille (10 Novembre 2006)

C&#233;roce;4046048 a dit:
			
		

> Laisse-moi deviner, tu vas travailler pour une SSI?
> La tr&#232;s grande majorit&#233; des commerciaux n'y connaissent absolument rien, pour eux "Assembleur" est un mot cl&#233; comme les autres dans leur base de donn&#233;es. Alors pour qu'ils comprennent qu'il est diff&#233;rent pour chaque processeur...
> 
> 
> ...



oui en esperant qu'il n'ait pas un test ?
&#231;a serait bien de donner un peu le m&#233;tier 
du dit employeur final , tout d&#233;pend de la branche 

automate programmable ?
control de moteur assist&#233; ?

mais c'est vraie que meme en PDA's cela se fait tres rare
les bidules sont assez puissant pour accueillir des OS
et 99.9% est fait en C ou java

mais c'est bizarre de faire chier un electronicien avec &#231;a 
car franchement cela pourrait s'apprendre au cas par cas

personne ne travaille tout seul ... et l'assembler c'est vraiment &#224; chaque
fois au cas par cas


----------



## theverglades (14 Novembre 2006)

Merci beaucoup les gars pour vos infos.
Sinon l'entreprise est une petite société de moins de 10 employés donc je pense que le mec qui va me faire passer l'entretien doit connaître le boulot. L'intitulé de l'annonce est : 



> Vous travaillerez en bureau d'études pour une société de conception et fabrication d'équipements electroniques de mesures et d'automatismes. Vous participerez à la conception et à l'industrialisation de produits (CAO) et developperez des logiciels



Mon entretien se déroule demain, apparemment il me garderait deux heures donc je pense qu'ils vont me tester... J'espère qu'ils ne vont pas se baser uniquement sur mes connaisssances en assembleur... Surtout qu'il me faut 4 heures de voiture pour m'y rendre...

Je vous raconterai comment cela s'est passé...


----------



## daffyb (14 Novembre 2006)

Les controleurs de l'A380 sont des PPC et ils sont programm&#233;s en assembleur.
C'&#233;tait juste pour r&#233;pondre aux questions du d&#233;but


----------



## Céroce (15 Novembre 2006)

daffyb a dit:


> Les controleurs de l'A380 sont des PPC et ils sont programmés en assembleur.
> C'était juste pour répondre aux questions du début



Les contrôleurs de quoi? Parce que si c'est programmé entièrement en langage d'assemblage, ça doit pas être bien gros.


----------



## tatouille (15 Novembre 2006)

daffyb a dit:


> Les controleurs de l'A380 sont des PPC et ils sont programm&#233;s en assembleur.
> C'&#233;tait juste pour r&#233;pondre aux questions du d&#233;but



ils ont choisi AMCC ? quelle famille ?


----------



## theverglades (15 Novembre 2006)

Bonjour tout le monde, 
bon mon entretien s'est plutot bien passé, ils m'ont pas fait chier avec l'assembleur, ils juste posé plein de questions pendants deux heures. Sinon l'assembleur ils l'utilisent pour programmer des micro-controleurs de chez microchip (ils ne m'ont pas dis lequel...).


----------



## Al_Copett (15 Novembre 2006)

Ben en voilà une bonne nouvelle.

Alors si ma mémoire ne me joue pas des tours, si tu restes dans les 8 bits :
Le jeux d'instructions de bases est le le même, il peut varier avec le modèle de µC avec des instruction supplémentaires.
L'architecture du coeur reste la même.
Le nombre et le type depériphériques du µC varient d'un modèle à l'autre.
Les op-code (code opératoire en fr) sont codés sur 12 ou 14 bits selon le modèle de µC.

Tu trouveras tout cela sur le site de Microchip ansi qu'un IDE pour programmer en assembleur plus que complet et un émulateur soft des µC du fabricant. Le tout gratuit. Bonne étude.


----------



## Al_Copett (15 Novembre 2006)

Voilà l'IDE gratuit de Microchip pour les PIC s'appelle MPLAB.

Je te conseille de commencer par les µC d'entrée de gamme, les plus simples et des petits programmes de quelques lignes pour tester les mécanismes de base. Par exemple comment évolue le mot d'état du µC en fonction de certaines instructions, addition de 2 mots de 8 bits, etc....

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&#8706;=SW007002


----------



## tatouille (16 Novembre 2006)

http://gputils.sourceforge.net/


----------



## Nephou (16 Novembre 2006)

_je passe en vitesse mais &#231;a me rappelle ma terminale S &#224; moi &#231;a : _LDA, X _(ah les charmes du 6809)_

_d&#233;sol&#233; pour le d&#233;rangement_


----------



## tatouille (16 Novembre 2006)

Nephou a dit:


> _je passe en vitesse mais ça me rappelle ma terminale S à moi ça : _LDA, X _(ah les charmes du 6809)_
> 
> _désolé pour le dérangement_


 you are welcome !

sinon *theverglades *tient nous au courrant pour le job


----------



## Al_Copett (21 Novembre 2006)

tatouille a dit:


> you are welcome !
> 
> sinon *theverglades *tient nous au courrant pour le job



Ca y'est, il a pris goût à l'assembleur, il nous réécrit OSX comme Kernighan et Ritchie.
Du coup il n'a plus le temps de suivre ce fil.


----------



## skystef (29 Novembre 2006)

Beurk, j'en ai fait 7 semaines en IUT &#231;a m'a.... troubl&#233;. Il fallait programmer un microcontrolleur sous Windows . Il pilotait des leds et fallait faire varier l'allumage des leds. :sleep:

Essayez de faire un chenillard ;-)


----------



## Al_Copett (29 Novembre 2006)

skystef a dit:


> Beurk, j'en ai fait 7 semaines en IUT ça m'a.... troublé. Il fallait programmer un microcontrolleur sous Windows . Il pilotait des leds et fallait faire varier l'allumage des leds. :sleep:
> 
> Essayez de faire un chenillard ;-)



Justement, là on retourne à une informatique, certes embarquée, mais où on peut encore facilement jouer avec les tripes du système.
Ha, quel bonheur de calculer les octets voir les bits qui restent de disponibles, de calculer la taille de son code pour que tout rentre dans la ROM ou la Flash du µC.


----------



## theverglades (7 Décembre 2006)

Salut! en ce qui concerne le job pas de nouvelles... 
Mais bon à ce qui parait "pas de nouvelles, bonnes nouvelles"...

Sinon je viens de réécrire entièrement Windows pour qu'il fonctionne en natif sur mon Ibook G4!   

Sinon à part faire des blagues à deux balles, je me renseigne un max sur les micro-controlleurs et leur programmation, c'est vraiment intéressant et les possibilités d'utilisations sont infinies. Maintenant je n'ai plus qu'a me fabriquer une interface pour les programmer et passer à la pratique!


----------



## obi wan (8 Décembre 2006)

&#224; mon avis m&#234;me si ils t'ont pas dit quel microcontr&#244;leur ils utilisent, si c'est du microchip ya des chances que ce soit un PIC.

Ne pas oublier un truc bien : chez microchip ils t'envoient des &#233;chantillons gratuits si tu veux, suffit de leur demander  moi ils m'ont gentiment exp&#233;di&#233;e 6 PICs, tout droit de malaisie, gratos, en 10 jours 

Bon apr&#232;s faut acheter un programmateur et une plaque de test parce que un PIC tout seul c bien joli, mais avec des entr&#233;es et des sorties et des vraies choses qui se passent c'est mieux 

Et pis pour commencer l'assembleur, un Lego Mindstorms NXT &#231;a peut etre pas mal  avec Next Byte Code


----------

