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