LEX 'PKLEX' ID #01 MSG 0 POLL 0 REVPOP EQU #0BD31 * REV$ et POP1S ARGERR EQU #0BF19 * Renvoie l'erreur "Invalid Arg" DRANGE EQU #1B076 * Teste si un octet est dans l'intervalle [0..9] CONVUC EQU #152AA * "CONVert to Upper Case" RANGE EQU #1B07C * Teste si un octet est dans un certain intervalle POP1R EQU #0E8FD * Teste un nombre rÅel sur la math stack et renvoie une * erreur si non FLTDH EQU #1B223 * Convertit un nombre sur 12 chiffres en un entier Hexa. HEXASC EQU #17148 * Convertit de l'Hexa en Ascii. EXPR EQU #0F23C * Point de retour des fonctions alpha. REV$ EQU #1B38E * Inverse une chaÑne sur la pile. F-R0-0 EQU #2F89B * RAM rÅservÅe, Zone "scratch" pour les fonctions STRHDR EQU #0F09A * "String Header" NXTSTM EQU #08A48 * "scan to NeXT STateMent/jump to BASIC loop" S-R0-0 EQU #2F871 * RAM rÅservÅe, zone "scratch" pour les ordres Basic. POP1S EQU #0BD38 * DÅjÈ vue FIXDC EQU #05493 * "Expression list decompile" STRGCK EQU #036BA * Analyse une expression alphanumÅrique. COMCK+ EQU #032AE * Routine d'analyse de la virgule STRNGP EQU #0379D * Routine d'analyse d'une expression alphanumÅrique SYNTXe EQU #02E2B * Sortie avec "Syntax error" d'une routine d'analyse EXPEX- EQU #0F178 * Evalue l'expression TFORN EQU #2F59E * RAM:Zone de sauvegarde du pointeur de pile EXPEXC EQU #0F186 * Evalue l'expression (pas la mÁme) ENTRY PEEK CHAR #F ENTRY POK CHAR #D KEY 'PEEK$' TOKEN 63 KEY 'POKE' TOKEN 64 ENDTXT REL(5) POKEd REL(5) POKEp POK GOSBVL EXPEXC GOSUB Addrck D1=(5) S-R0-0 A=B A DAT1=A A D0=D0+ 2 GOSBVL EXPEX- GOSBVL POP1S P= 5 A=0 P P= 0 ASRB D0=(5) S-R0-0 C=A A D=C A A=DAT0 A D1=A D0=(5) TFORN A=DAT0 A D0=A POKE1 D=D-1 A GOC POKE2 D0=D0- 2 C=0 S A=DAT0 B GOSUB Aschex A=B A DAT1=A 1 D1=D1+ 1 GONC POKE1 POKE2 GOVLNG NXTSTM POKEd GOVLNG FIXDC * FIXDC: routine de dÅcompilation des ordres : * POKE, FIX, SCI, ENG, FLAG, DELAY, WAIT, INPUT, READ, * PRINT et DISP POKEp GOSBVL STRGCK * P * POKEP est une routine non supportÅe par GOSBVL COMCK+ * O * Hewlett-Packard, adresse: 0378E dans la version GOC strngp * K * :1BBBB. Voir lex commentaires de ADDRCK pour plus GOVLNG SYNTXe * E * de renseignements strngp GOVLNG STRNGP * P Addrck GOSBVL REVPOP * C=0 A * LCHEX A * A * ADDRCK est une routine interne de la version ?A>C A * * HP71B:1BBBB. Adresse: 1C5A5. Ce point d'entrÅe GOYES Err * D * n'est pas supportÅ, c'est-È-dire que les C=A A * * modifications ultÅrieures peuvent altÅrer cette P=C 0 * D * adresse dans de futures versions (:1CCCC). Pour la P=P-1 * * compatibilitÅ, nous avons insÅrÅ la routine GOC Err * R AD1EX * C=C+A A * C D1=A * A=0 W * K A=DAT1 WP * D1=C * B=0 A * P= 0 * Addr GOSUB Aschex * ?A=0 B * RTNYES * GONC Addr * Err GOVLNG ARGERR * Commun È ADDRCK et ASCHEX Aschex GOSBVL DRANGE * GOC ATH * ATH1 BSL W * B=A P * A * Routine Acshex, non supportÅe par Hewlett-Packard. ASR W * * Adresse 1C5E3 dans la version :1BBBB ASR W * S RTN * * C ATH GOSBVL CONVUC * LCASC 'FA' * H GOSBVL RANGE * GOC Err * E LCHEX 37 * A=A-C B * X GONC ATH1 * NIBHEX 8422 PEEK GOSBVL POP1R D1=D1+ 16 CD0EX D0=(5) F-R0-0 DAT0=C A GOSBVL FLTDH GONC Err C=A A C=C+C A GOC Err R0=A GOSUB Addrck C=R0 D=C A A=C A C=C+B A R1=C C=B A R0=C A=A+A A C=A A GOSBVL STRHDR A=R0 D0=A PEEK1 D=D-1 A GOC PEEK2 C=0 S A=DAT0 1 GOSBVL HEXASC DAT1=A B D1=D1+ 2 D0=D0+ 1 GOTO PEEK1 PEEK2 C=R1 D1=C P= 0 GOSBVL REV$ D0=(5) F-R0-0 C=DAT0 A D0=C GOVLNG EXPR END