aldweb

Close I. aldweb

Close II. PC Freeware

Close III. Palm Freeware

Close IV. Palm Shareware

Close V. iziBasic Palm

Close VI. Palm Knowledge

Close VII. Pocket Computer

Close VIII. miniPortail

Special !



Mobile version of
the aldweb Site

m.aldweb.com


Neither French, nor English?

Try one of these flags then:
[de] [es] [it] [pt]
Search




Weather / Spam / www

Lyon Weather


aldweb against spam


Newsletter
To receive news about this website, consider subscribing to our Newsletter.
Subscribe
Unsubscribe
296 Subscribers
Family's web sites

Webmaster - Infos
Friends News
Visits

   visitors

   visitors online

Poll
What do you think of the new design of the aldweb Site?
 
Great !
Beautiful
Average
So ugly...
Results
Post an answer

Thanks for taking the time to write this message.

Your user name :

Your e-mail :

Hide your e-mail address to visitors:      
Note: the e-mail address is protected against SPAM.

Subscribe to this thread :      

You are answering to Sébastien who wrote:


> Pourquoi as tu acheté autant de matos PC E500(s) ?

Parce que je les "upgrade" : J'ai "overclocké" deux machines à 4.8 MHz
(au lieu de 2.304 MHz). Or j'en ai déjà mise une hors d'usage : C'est
donc pour avoir de la réserve en cas de catastrophe ! J'avais aussi en
projet de rajouter une fonction d'horloge, chose que je n'ai jamais
faite bien que j'aie récupéré tous les composants nécessaires (par
courrier du Japon !).

> A quoi ressemblent leurs cartes de 256 Ko ?.la mienne est artisanale et la pile est soudée
sur le circuit :(

Tu peux aller voir sur le site : Il y a des photos. Ce ne sont pas des
copies de l'originale mais je les trouve pas mal (en tout cas, je n'ai
eu aucun problème d'utilisation). Elles sont protégeables en écriture
par un petit "switch", ce qui est bien pratique en cas de crash (d'un
programme Forth ou en langage machine...).


> Je pense que je ne pourrai me faire une idée réelle de forth que lorsque j'aurai fait mes
premiers benchs. Au fait, peut être en as tu déjà fait ? Quelle est la proportion
d'interprété, grosso-modo, dans du code FORTH ?

La nuance entre interprété et compilé en Forth est subtile : Le modèle
utilisé par mon implantation est le "code chaîné direct" (DTC, Direct
Threaded Code). Toute définition Forth commence par une séquence en
langage machine (elles sont toutes appelées par un CALL court). Cette
séquence se réduit à un simple saut vers une routine d'interprétation
d'adresses dans les cas de mots de haut niveau. J'ai codé toutes les
routines critiques du point de vue temps d'exécution en assembleur, les
autres étant en Forth. Par exemple, SM/REM (qui fait la division
symétrique avec reste en double précision) est codée en Forth car le
temps passé dans cette définition l'est en réalité dans le
sous-programme de division non signée UM/MOD (qui lui est en langage
machine). J'avais fait des essais "tout langage machine" : Je ne gagnais
que 10% de temps au risque d'introduire des bogues et d'augmenter la
quantité de code assembleur non trivial (de plus les définitions en
Forth sont souvent moins gourmandes en espace mémoire que le langage
machine qui fait la même chose).

La proportion d'interprété dans le code Forth atteint 50% à peu près
(ce qui le rend 6 à 7 fois plus lent que le langage machine au pire car
il y a des primitives qui sont appelées pour rien). Cela reste toutefois
impressionnant à côté de BASIC :
FOR i = 1 to 10000:NEXT ' Sans le I ça va deux fois plus vite !
prend 14 secondes sur un PC-E500 (à confirmer mais je ne crois pas me
tromper de beaucoup !)
10000 0 DO LOOP
prend 0.5 secondes en Forth ! Et c'est encore pire lorsque l'on fait de
l'arithmétique entière (16 ou 32 bits en Forth) vu que BASIC est obligé
d'utiliser les flottants...

Concernant les primitives :
Il est facile de rajouter une primitive à Forth : on crée une nouvelle
définition et on la "remplit" avec du code hexadécimal par exemple (ou
assembleur si on a eu le courage d'en écrire un). Mon Forth inclut le
mot (CODE;) qui marque le début d'une section en langage machine et que
l'on peut insérer dans n'importe quelle définition. (CODE;) est compilé
automatiquement par le mot DOES> (en général, les mots entre parenthèses
ne sont pas destinés à l'utilisateur normal mais plutôt au "hacker").
DOES> permet de créer des définitions dont le comportement n'est pas
standard en spécifiant celui-ci en Forth de haut niveau (pratique pour
les extensions objet par exemple). Il serait peut-être intéressant
d'ajouter le mot CODE; qui est l'équivalent de DOES> mais qui attend du
code machine et non pas du Forth de haut niveau (on n'a jamais fini
d'étendre un Forth !).

> des questions, tjrs des questions....

Ne t'inquiète pas : J'ai aussi beaucoup de réponses !


Help :

Code Syntax :

  • <color=CodeHexadecimal></color> enables text colouring.
    Note : Instead of the hexadecimal code (#??????), you can specify the name of the colour(red, yellow, orange, green, blue, etc...). For extra info...
  • <bgcolor=CodeHexadecimal></bgcolor> enables the colored highlighting of a text.
    Note : Instead of the hexadecimal code (#??????), you can specify the name of the colour(red, yellow, orange, green, blue, etc...). For extra info...
  • <b></b> enables the emboldening of a text.
  • <i></i> enables the italicising of a text.
  • <u></u> enables the underlining of a text.
  • <cite></cite> enables quotation inserting.
    Note : You can specify the name of the authors by typing <cite=Author>
  • <code></code> enables code inserting.
    Note : You can specify the language by typing <code=LanguageName>
  • <left></left> enables left align.
  • <center></center> enables center align.
  • <right></right> enables right align.
  • <link></link> enables link inserting.
    Note : You can specify the link URL by typing <link=URL>text</link>. If you do not specify the link URL, the URL will be the one between the two tags.<link>URL</link>
  • <img=SmileyName> enables smiley insertion.
    Note : The names of available basic smileys are : cool, wink, biggrin, smile, frown, eek, mad, confused, rolleyes, tongue, cry. For extra info...

Access keys (under Windows) :

  • Key SHIFT + arrow (right or left) enables text selection
  • Key ALT + 2 enables toolbar selection
  • Key ALT + 3 enables editing zone selection
  • Key ALT + 4 displays Help
  • Key ALT + 5 hides Help
  • Key TAB enables going from one selection to the next
  • Key SHIFT + TAB enables going from one selection to the previous
  • Key ALT + arrow (towards bottom or top) enables folding out of the selected menu
  • Key ALT + arrow (towards bottom or top) enables the folding up of a spread out menu
  • Key arrow (towards bottom or top) enables the browsing through a spread out menu
  • Key ALT + s enables form sending

   |     |  Bold  Italic  Underline  Insert a quotation    Align Left  Center justify  Align Right  Insert a link  Insert Smiley (popup)  Preview (popup)  Display Help   
smiley cool  smiley wink  smiley biggrin  smiley smile  smiley frown  smiley eek  smiley mad  smiley confused  smiley rolleyes  smiley tongue  smiley cry 
Captcha reload
Copy the text:


 
 
^ Top ^