Jump to content
Taki

"Hello World!" dans tous les langages

Recommended Posts

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)();}

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other 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...

Edited by Pedz

Share this post


Link to post
Share on other sites

les L4G propriétaires ça compte ? :francais:

Omnis Studio :

do $cinst.$showmessage('HelloWorld !')

Que voulez-vous ... :censored:

Edited by Fafhrdius

Share this post


Link to post
Share on other sites

En VoiceXML voici ce que sa donne

<?xml version="1.0"?>

<vxml version="1.0">

<form>

<block>Hello World!</block>

</form>

</vxml>

:incline:

Share this post


Link to post
Share on other sites

SQL :

BEGIN
SELECT 'Hello World!'
END

PRINT 'Hello World!'

ASP :

<html>
<body>
<%="Hello World!"%>
</body>
</html>

Edited by liink

Share this post


Link to post
Share on other sites
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.

Edited by wanou

Share this post


Link to post
Share on other 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:

Edited by wanou

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other 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:

Edited by wanou

Share this post


Link to post
Share on other sites

En Visual DialogScript, langage simple et performant :transpi: (www.dialogscript.com)

%%hellovar = Hello World

title %%hellovar

info %%hellovar

exit

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other sites

Sous WinDev de PC Soft :

Info("Hello World !")

Après tu peux encore modifier :

Info("Hello World !" + RC + "aCid bUrn is the best of your world !!")

Faut que j'arrête de mater Dexter :francais::yes:

Share this post


Link to post
Share on other sites

en Basic version Casio

ClrText
Locate 1,1,"Hello world !"

ou alors la méthode graphique (toujours en Basic Casio)

ClrGraph
BG-None
ViewWindow 1,127,0,1,63,0
Text 1,1,"Hello World !"

Share this post


Link to post
Share on other 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:

Share this post


Link to post
Share on other 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 !'

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...