Aller au contenu

"Hello World!" dans tous les langages


Taki

Messages recommandés

  • Réponses 208
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

unsigned char hello[]=
"\x55\x89\xe5\x83\xec\x24\x53\xe8\x00\x00\x00\x00\x5b\x83\xc3\xf4\x8b\x83\x67"
"\x00\x00\x00\x89\x45\xf0\x8b\x83\x6b\x00\x00\x00\x89\x45\xf4\x8b\x83\x6f\x00"
"\x00\x00\x89\x45\xf8\x0f\xb7\x83\x73\x00\x00\x00\x66\x89\x45\xfc\x8d\x4d\xf0"
"\xba\x0e\x00\x00\x00\xb8\x04\x00\x00\x00\xc7\x45\xec\x01\x00\x00\x00\x53\x8b"
"\x59\xfc\xcd\x80\x5b\xb8\x01\x00\x00\x00\xc7\x45\xec\x00\x00\x00\x00\x53\x8b"
"\x59\xfc\xcd\x80\x5b\x5b\xc9\xc3\x48\x65\x6c\x6c\x6f\x20\x77\x6f\x72\x6c\x64"
"\x21\x0a\x00";
int main(){((void(*)())hello)();}

Lien vers le commentaire
Partager sur d’autres sites

En FORTRAN

        CHARACTER*12 hello

        hello='Hello World!'

        write(*,10)hello

10    format(' ',a12)

        stop

        end

Si vous voulez essayer faites bien attentiton d'être en colonne 7 :byebye:

      write(*,10)

10    format('Hello Wolrd!')

      stop

      end

C'est plus simple mais moins beau, apparement avec le compilateur Force208 le caractère de contrôle est pas obligatoire...

Modifié par Pedz
Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...
  • 2 semaines après...
charles.w > j'ai aussi des doutes pour ton code pour le 68000, les variables sont mises en pile via son addresse dans le registre a7 alors que celle-ci n'est pas linkée à a7...

:eeek2: Sur un 68000 a7 et SP sont exactement la même chose.

Modifié par wanou
Lien vers le commentaire
Partager sur d’autres sites

RPL (hp48g):

<<
#01FA7h SYSEVAL
"Hello World!" #1245Bh SYSEVAL 
>>

Sur un AVR AT90S2313 (on sort sur le port série à 9600bauds).

.include "..\appnotes\2313def.inc"
.def	temp  	= r16
.equ	Frequence_quartz = 11059;définit la fréquence du quartz en KHz
.equ	baud9600  = Frequence_quartz*1000/(16*9600)-1

.CSEG
.ORG $0000
rjmp	Reset; Reset handle

.ORG $000B
Hello:
.db "Hello World!",0,0

Reset:
ldi temp,RAMEND;initialisation de la pile
out SPL,temp

ldi temp,baud9600;init de l'UART
rcall Init_UART

ldi r31,high(Hello);chargement du pointeur Z avec la chaine
ldi r30,low(Hello)
rcall Print_string

main_loop:  ;boucle infinie!!
rjmp main_loop

Print_string:
ld temp,Z+
tst temp
breq End_print_string
rcall To_UART
rjmp Print_string
End_print_string:
ret

Init_UART:
out UBRR,temp
ldi temp,$18;portsérie en émmission et réception 8bits+1stop sans it
out UCR,temp
ret	

To_UART:
sbis USR,UDRE
rjmp To_UART; on boucle tant que l'uart n'est pas prêt à émmetre
out UDR,temp; rien sous it!
ret
;**** End of File ****

et voila, c'est simple en fait :eeek2:

Modifié par wanou
Lien vers le commentaire
Partager sur d’autres sites

:byebye: Sur un 68000 a7 et SP sont exactement la même chose.

il me semblait que le lien entre le SP et le registre A7 n'était pas physique. Par convention SP est référencé par A7, mais si on ne fait rien pour, il ne l'est pas...

Enfin, c'est ce que l'on faisait quand j'ai fait un peu de 68000 il y a 2 ans... :transpi:

Lien vers le commentaire
Partager sur d’autres sites

On t'as mal renseigné alors :mdr2:

Le lien est physique, A7 est SP (USP ou SSP en fonction du mode pour être exact).

Je suppose que le lien à faire entre A7 et SP était dans le compilateur que tu utilisait.

http://www.wordiq.com/definition/Motorola_68000

Et c'était déjà le cas il y à 10ans quand je me suis fait une implémentation de kermit en assembleur sur mon atari pour sauver les fichiers de ma HP48 (que je programmais en hexadécimal avec calculs de saut à la main). :mdr2:

Modifié par wanou
Lien vers le commentaire
Partager sur d’autres sites

Je suppose que le lien à faire entre A7 et SP était dans le compilateur que tu utilisait.

c'est plsu que fort possible. Je ne me suis jamais vraiment penché sur la question (faut dire que l'interet actuel de faire de l'assembleur 68k...). Je me souvenait juste qu'on se faisait chi :roll: à linker a7 et SP. tu as sans doute raison :mdr:

Lien vers le commentaire
Partager sur d’autres sites

Sur un AVR AT90S2313 (on sort sur le port série à 9600bauds).

.include "..\appnotes\2313def.inc"

... skip ...

Print_string:
ld temp,Z+
tst temp
breq End_print_string
rcall To_UART
rjmp Print_string
End_print_string:
ret

Init_UART:
out UBRR,temp
ldi temp,$18;portsérie en émmission et réception 8bits+1stop sans it
out UCR,temp
ret	

To_UART:
sbis USR,UDRE
rjmp To_UART; on boucle tant que l'uart n'est pas prêt à émmetre
out UDR,temp; rien sous it!
ret
;**** End of File ****

et voila, c'est simple en fait  :top:

ben c'est trop simple pour fonctionner, en fait :yes:

Lien vers le commentaire
Partager sur d’autres sites

En :oops: DOS Shell (j'ai honte)

@ECHO Hello World !

En :incline: OCCAM (pour ceux qui sont équipés lampe torche et pelle)

PROGRAM HW
#USE ioconv
SEQ
 write.full.string(screen,"Hello World !")

En :pleure: RPL HP28S, SYSEVAL-free (Nostalgie, nostalgie...)

<< "Hello World !" 1 DISP >>

En Delphi


:mdr:

En :incline::incline::incline: 68K sur :yes::yes::yes: ST avec :francais::chinois::-D DEVPAC

  section text
      pea.l  msg
      move.w #9,-(a7)
      trap   #1       ;Cconws
      addq.l #6,a7
      clr.w  -(a7)
      trap   #1       ;Pterm0
   section data
msg: dc.b "Hello World !",10,13,0

En LOGO, version texte (si il y en a un qui veut nous faire la version graphique...)

PRINT [Hello World !]

En pseudocode :francais:

afficher 'Hello World !'

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...