Nis Posté(e) le 8 juillet 2004 Partager Posté(e) le 8 juillet 2004 Assembleur architecture x86, avec le compilateur TASM .model small .stack 100h .data hello db "Hello the World !$" .code main proc MOV AX,@data MOV DS,AX MOV DX,offset hello MOV AX,0900h INT 21h MOV AX,4C00h INT 21h main endp end main 15 lignes Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Taki Posté(e) le 8 juillet 2004 Auteur Partager Posté(e) le 8 juillet 2004 (modifié) bon, je sais qu'on va pas commencer a chipoter mais pour le code php, un simple <?php echo "hello world"; //ou bien: print "hello world"; ?> aurait suffi (enfin ça n'a pas d'importance, mais bon, pour moi le code le plus lisible et le plus simple possible reste toujours souhaitable :) enfin bon, topic sympatique, que je rajoute dans les liens , et bonne continuation :) Merci grand gourou Je vais de ce pas mettre à jour le post d'entête. @Irgoff: trop marrant ton lien EDIT: Update terminée.... on attend la suite Modifié le 8 juillet 2004 par Taki Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 8 juillet 2004 Partager Posté(e) le 8 juillet 2004 Bon pour rappel un petit historique des langages de programmations...juste histoire de voir les langages dans lequels il nous manque des Hello World...On autorise ceux sur carte perforée ou pas? http://www.oreilly.com/news/graphics/prog_lang_poster.pdf Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
NiTrOuS Posté(e) le 8 juillet 2004 Partager Posté(e) le 8 juillet 2004 En francais: Bonjour le monde Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nonas Posté(e) le 8 juillet 2004 Partager Posté(e) le 8 juillet 2004 (modifié) En francais:Bonjour le monde J'avais hésiter à la faire celle-là, mais je me suis retenu de peur de me faire traiter de Modifié le 8 juillet 2004 par nonas Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
NiTrOuS Posté(e) le 8 juillet 2004 Partager Posté(e) le 8 juillet 2004 Hé bien moi j ai osé Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Taki Posté(e) le 8 juillet 2004 Auteur Partager Posté(e) le 8 juillet 2004 Bon pour rappel un petit historique des langages de programmations...juste histoire de voir les langages dans lequels il nous manque des Hello World...On autorise ceux sur carte perforée ou pas?http://www.oreilly.com/news/graphics/prog_lang_poster.pdf Si t'as une image du hello world sur carte perforée ça peut être marrant mais faut voir si on peux vraiment appeler ça de la programmation. D'ailleurs à ce qu'il paraît les mes qui fesaient les trous sur les cartes se sont tous recyclés dans la SNCF comme controlleurs... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
njoyard Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 VIRTUALBASIC VISUAL basic.... s'il te plait, on le respecte Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 Si t'as une image du hello world sur carte perforée ça peut être marrant mais faut voir si on peux vraiment appeler ça de la programmation.D'ailleurs à ce qu'il paraît les mes qui fesaient les trous sur les cartes se sont tous recyclés dans la SNCF comme controlleurs... Ben la prochaine fois que je passe a l'université, je prendrais mon APN...Y'a aussi des mémoires a tores, je les prend avec? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 (modifié) Bon, ben j'en ait trouvé grace a l'ami google... Ces cartes sont des cartes mécanographiques datant des années 60 - 70... Celle-ci est un programme sur bande de papier codé sur 8 bits...Le codage utilisé est le codage ABCDIC...ca sert dans les ordinateurs de type MICRAL (années 70-80) Des cartes programme pour un IBM System 3 et le "petit" ordinateur qui va avec Des trucs Hors Sujet : La première sourisSpécialiste des radars à l'US NAVY, Engelbart conçut la souris en 1963.Le nom de souris lui fut donné spontanément car ce nouveau périphérique y ressemblait avec son cordon en forme de queue. http://www.thocp.net/hardware/pictures/mouse_firstb.jpg (celle la elle passait pas sur PCI) Ca doit pas être aussi confortable que ma MX510...mais bon... De la mémoire a toresUne vue généralle : Je me suis fait refiler dernièrement une plaque de mémoire à tores de ferrite, le genre de mémoire dont on se servait avant la généralisation des puces de RAM. Le panneau fait 64 x 64 bits, soit 4096 bits, ou 512 octets. Le texte de cette page n'y rentrerait même pas... ce qui ne veut pas dire qu'on ne pouvait rien en faire : par exemple, le noyau du ColorForth tient dans seulement 400 octets. Avec un billet de 100FF a coté... Ce n'est pas si gros : sur cette photo, je passe la plaque au scanner, à côté d'un bout de papier sans valeur de dimensions connues. La surface couverte par les tores fait 4,8 cm de côté, ce qui donne 0,75 mm de côté par bit. Rapprochons-nous un peu pour en examiner la délicate structure. Cet ouvrage de tapisserie électronique était façonné à la main : s'il faut avoir de bons yeux et/ou une loupe puissante pour regarder ces détails, imaginez la difficulté des techniciens qui fabriquaient ces mémoires ; on comprend sans mal leur prix très élevé. (heu ca devait pas être des techniciens, mais de petits chinois sous payés, c'est pas possible...M'enfin bon si c'était vraiment des techniciens qui faisaient ca...ils n'avaient aucune excuse pour ne pas repriser leurs chaussettes durant les années 60...) Et un petit zoom --Edit-- On comprend mieux pourquoi il fallait économiser la mémoire à l'époque...heureusement depuis, nos amies les bascules transistorées ont été inventées... Modifié le 9 juillet 2004 par Charles.w Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 Bon pour être serieux... Une Hello World en LISP... ; LISP (DEFUN HELLO-WORLD () (PRINT (LIST 'HELLO 'WORLD))) Une première Hello World en Objective C void main() { printf("Hello World\n"); } Une deuxième Hello World en Objective C #import "objc/Object.h" // // Compile with: // // cc hw.m -o hw -lobjc -lm // @interface HelloWorld : Object { STR msg; // Instance Variable } + new; // Class/Factory method - print; // Instance method - setMessage: (STR) m; // " " @end @implementation HelloWorld + new { self = [super new]; msg = ""; return self; } - print { printf("%s\n", msg); return self; } - setMessage: (STR) m { msg = m; return self; } @end int main(int argc, char**argv) { id obj; obj = [HelloWorld new]; [[obj setMessage: "Hello World"] print]; return 0; } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 (modifié) Bon d'autres hello world.... En APL (1960) @ This program is very simple in APL! 'Hello World!' @ In APL, anything that is printed in quotes is printed to the terminal. (@ in APL signifies a comment) @ If the "Hello World statement needed to be stored, then you could use the following : h<-'Hello World' h @Typing h causes h's value to be printed to be printed. En ALGOL 68 (heu...ben...1968...) BEGIN FILE F (KIND=REMOTE); EBCDIC ARRAY E [0:11]; REPLACE E BY "HELLO WORLD!"; WHILE TRUE DO BEGIN WRITE (F, *, E); END; END. Bon ben passons à l'assembleur... Sur VAX ... LL0: .data .text L .align 1 .globl _main _main: .word L12 jbr L14 L15: .data 1 L17: .ascii "Hello, world.2" .text pushl $L17 calls $1,_puts ret .set L12,0x0 L14: jbr L15 .data Sur Motorolla 68000... start: ; Message-String ausgeben move.l #msg,-(a7) move.w #9,-(a7) trap #1 addq.l #6,a7 ; auf Taste warten move.w #1,-(a7) trap #1 addq.l #2,a7 ; Programm beenden clr -(a7) trap #1 msg: dc.b "Hello World",10,13,0 Sur MIPS R2000 (pour rappel le MIPS est le premier processeur RISC) .data # Datensegment str: .asciiz "Hello World!\n" # String ablegen .text # Codesegment main: li $v0, 4 # 4 = Print_string la $a0, str # Adresse des Strings übergeben syscall # Systemfunktion aufrufen li $v0, 10 # 10 = Quit syscall # Programm beenden En MIDAS sur PDP 10 ;; Hello world in MIDAS title hello start: .open [.uao,,'tty ? 0 ? 0] .lose %lsfil move 1, [440700,,[asciz "Hello, world "]] loop: ildb 2,1 skipn 2 .logou 1, .iot 2 jrst loop end start Sur Intel 8086 --EDIT-- CE CODE EST FAUX ; WRITTEN IN TASM (Turbo Assembler) .MODEL TINY CODE SEGMENT ASSUME CS:CODE, DS:CODE ORG 100h START: mov ah,9 mov dx,OFFSET Msg int 21h int 20h Msg DB 'Hello World',13,10,'$' CODE ENDS END START Sur Apple 2 ; Uses S-C Assembler variant. ; .or is origin ; .as is ASCII String ; .hs is Hex String .or $300 main ldy #$00 .1 lda str,y beq .2 jsr $fded; ROM routine, COUT, y is preserved iny bne .1 .2 rts str .as "HELLO WORLD" .hs 0D00 Modifié le 9 juillet 2004 par Charles.w Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 Au boulot Taki Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nis Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 Comment tu le fais fonctionner le code que tu as fourni pour assembleur x86 ? Pcq je l'ai lancé chez moi mais ca ne fonctionne pas J'ai déjà du rajouter un .stack 100h pour que ca veuille compiler J'utilise Turbo Assembleur 3.2 et Turbo Link 5.1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 (modifié) Heu...J'ai pris le code sur google... Modifié le 9 juillet 2004 par Charles.w Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nonas Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 Peut-être un code masm, je sais que sa diffère un peu du tasm. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 (modifié) Heu, c'est possible d'utiliser un compilateur C en mettant un code du genre ? void test () { asm { .... } } Modifié le 9 juillet 2004 par Charles.w Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 C'est possible aussi que le code donné passe pas sur les dernières générations de processeurs...Il me semble que la rétrocompatibilité du code n'aille plus jusqu'au 8086...Avec le PIII, et ensuite le PIV, Intel a refondé toute son architecture... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nonas Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 (modifié) Oui c'est possible mais je sais plus comment faut le mettre exactement Y'a un truc à voir avec les .h aussi. edit : je parle de l'asm dans le c ici. Pour la rétrocompatibilité, je sais pas trop, mais en effet je crois qu'on va que jusqu'au Pentium. (voire 386) Modifié le 9 juillet 2004 par nonas Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Charles.w Posté(e) le 9 juillet 2004 Partager Posté(e) le 9 juillet 2004 (modifié) Arf, ca y est, je viens de trouver un compilateur...Negatory Assembly Studio 2.0, il gère les codes TASM, MASM, TASM32... Bon ben du coup, puisque c'est un IDE, on fait un copier coller des hello world données... .386 .model flat,stdcall option casemap:none include windows.inc include kernel32.inc .data sConsoleTitle db "Console Application",0 sWriteText db "Hello World!",0 .code Main PROC LOCAL hStdout :DWORD invoke SetConsoleTitleA, offset sConsoleTitle invoke GetStdHandle, STD_OUTPUT_HANDLE mov hStdout,EAX invoke WriteConsoleA, hStdout, offset sWriteText, 16d, 0, 0 invoke ExitProcess, 0 Main ENDP end Main Désolé pour l'autre code, je le referais plus... --EDIT-- Pour DL Assembly Studio, c'est ici... http://www.negatory.com/asmstudio/ Modifié le 9 juillet 2004 par Charles.w Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Taki Posté(e) le 10 juillet 2004 Auteur Partager Posté(e) le 10 juillet 2004 En tous cas, c'est super interessant tout ce que vous trouvez les gars! Par contre j'ai la flemme de faire la MAj ce soir @+ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
joris Posté(e) le 16 juillet 2004 Partager Posté(e) le 16 juillet 2004 A mon avis, tu devrais dégager le "virtual basic" (d'ailleurs y'a une coquille :8 ) et le remplacer par le Basic : ça donnerait donc : 10 ? "Hello World!" Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
njoyard Posté(e) le 17 juillet 2004 Partager Posté(e) le 17 juillet 2004 A mon avis, tu devrais dégager le "virtual basic" rroooooh mais quoi c'est bien le VB Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
XZombi Posté(e) le 5 septembre 2004 Partager Posté(e) le 5 septembre 2004 Continuez, c'est très intéressant!!!! Et oui, faudrait corriger Virtual par Visual Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Monorom Posté(e) le 6 septembre 2004 Partager Posté(e) le 6 septembre 2004 En XAML : <Window xmlns="http://schemas.microsoft.com/2003/xaml" Visible="true"> <Text>Hello World!</Text> </Window> Aussi sur : http://www2.latech.edu/~acm/helloworld/ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.