Aller au contenu

Charles.w

Ancien
  • Compteur de contenus

    10 074
  • Inscription

  • Dernière visite

  • Jours gagnés

    33

Messages posté(e)s par Charles.w

  1. 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/

  2. 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

  3. 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;
    }

  4. Bon, ben j'en ait trouvé grace a l'ami google...

    Ces cartes sont des cartes mécanographiques datant des années 60 - 70...

    xDSCF5164.JPG

    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)

    xDSCF5166.JPG

    Des cartes programme pour un IBM System 3 et le "petit" ordinateur qui va avec

    4.jpg

    1.jpg

    2.jpg

    Des trucs Hors Sujet :

    La première souris

    Spé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.

    souris.gif

    mouse.jpg

    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...:francais:

    De la mémoire a tores

    Une vue généralle :

    core0.jpg

    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é...

    core1.jpg

    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.

    core2.jpg

    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...)

    core3.jpg

    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...

  5. 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... :incline:

    :kill:

    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?

  6. Et ADA95?

    Ce langage est bien plus élégant que Pascal dont il dérive, il supporte une écriture très proche de celle des divers langages algorithmiques, il supporte la notion de package tout comme java, permet de programmer parallère sans trop de difficultés, supporte la conception orientée objet depuis 95 (bien que ADA83 incitait déjà fortement à ce type de conception) . De plus ADA95 est un langage très sécurisé, on ne peut pas fraire des conversions de type à tout va...Les compilateurs ADA sont obligés de respecter une norme très stricte, ce qui fait que l'on peut indifferemment utiliser un compilateur ou un autre sans avoir à se soucier de l'implémantation et du fonctionnemente celui-ci...Les compilateurs ADA sont très pratique comparé à certains compliateurs C++ puisqu'ils indiquent la ligne à l'origine de l'erreur et le type d'erreur...Que dire de plus...A si, le langage ADA à été crée par un français et est soutenu par le DoD (Departement of Defence (aux Etats Unis))...Ce langage peut être utilisé pour faire de la programmation graphique (avec openGL), pour programmer des...euh missiles/avions/fusées/sondes spaciales...En bref, ce langage est largement répandu dans le domaine universitaire ainsi que dans celui des applications temps réel ayant de fortes contraintes de fiabilité...

    Pour les sondes spaciales DS1 (Deep Space One) était programmé en ADA et était la première sonde entièrement automatisée (comprendre qui se guide sans nécessiter d'interventions humaines) utilisant un propulseur ionique...Cette sonde a rapporté les meilleures photos de la surface d'une comète qui aient jamais été prises...Cf http://nmp.jpl.nasa.gov/ds1/

    Bon pour ce qui est des compilateurs ADA gratuits y'en a pas beaucoup mais si vous en cherchez, il suffit de me demander...

    PS : Une nouvelle version / Norme d'ADA devrait bientot voir le jour ADA2005 et pourrait, tout comme ADA83 infléchir le développement d'autres langages tels C++ (oups C with Classes à l'époque) ou java...

×
×
  • Créer...