Details d'un fichier tocaniser en LEHM Le LEHM est compose de 2 programmes : le premier , le tocanisateur ou compilateur qui sert a transformer un fichier source en une chaine de characteres interpretable par le deuxiemme, l'interpreteur. Le compilateur vas traduire le fichier source suivant la regle suivante chaque instruction est traduite en un code de 4 quartets la premierre instruction est l'instruction numero 1 une variable ou un champ est code sur 1 quartet representant le numero de la variable ou le champ c'est pour cela qu'il ny a que 6 variables. Codage des instructions + v v 30vv STOV v xy 0vyx - v v 31vv /FLG f 3B9f / v v 32vv PEEK v 3BAv * v v 34vv COPY v v 3Cvv & v v 35vv MODX v 3D0v ! v v 36vv MODY v 3D1v ECRI v 3D2v SŒ 5006 4*SŒ 500A Sj 5007 4*Sj 500B S> 5008 4*S> 500C S< 5009 4*S< 500D D= xyz 9zyx /LCD 500E P=label Axxx(nø instruction apres le label) AF x y z Bxyz ?PIX x y 85xy ?> v v 81vv ?KEY x y 86xy ?>= v v 82vv BEEP v d 54vd ?= v v 83vv REPL x y z 4xyz ?# v v 84vv KEYW 501A LINE x1 x2 55xx P+C xy 37yx P-C xy 38yx NKEYW 501B D+C xy 39yx NOT-1 v 3BBv D-C xy 3Ayx FLG=1 f 3BCf D+V v 3B0v FLG=0 f 3BDf D-V v 3B1v V=RND v 3BEv P+V v 3B2v ?FL=1 f 802f P-V v 3B3v ?FL=0 f 803f SIN v 3B4v SAVE1 5013 COS v 3B5v LOAD1 5014 MOD v v 3Evv SAVE2 5015 LIT v 3B7v LOAD2 5016 CLS 5004 P<>PS 5017 RTN 2000 SONON 5018 POF x y 51xy SONOF 5019 PON x y 52xy END 5005 PAUSEL v 502v V+C v xy 6vyx PAUSES v 503v V-C v xy 7vyx V1N<>S 501D NOT v 3B8v V2N<>S 501E ?=0 v 800v CERCLE x r 56xr ?#0 v 801v VN<>VS 501C AFD x y 53xy GOSON label Czyx ( nø ligne du label ) GOSASM label Dzyx (nø ligne du label ) GOTO label 1zyx (nø ligne du label ) GOSUB label 2zyx ( nø ligne du label ) par definition le numero de ligne d'un label est le numero de l'instruction imediatement apres. Cette liste pourat etre modifier sans preavis ( mais c'est facile a coriger, il sufit d'essayer d'assembler les instruction et de regarder la chaine en hexa pour c'en appercevoire. ) l'interpreteur vas lire les instruction dans la chaine de characteres puis les executer pas a pas ensuite.