10 !*************************** 20 !* HP-83/85 ASSEMBLER * 30 !* GLOBAL FILE * 40 !* SECTION 2 * 50 !* (c) Hewlett-Packard Co. * 60 !* 1980 * 70 !*************************** 80 ! 90 ! 2160 !************************ 2170 !* SYSTEM ROUTINE ENTRY * 2180 !* POINT ADDRESSES * 2190 !************************ 2200 ABS5 DAD 53731 !ABSOLUTE VALUE 2210 ADDROI DAD 52150 !ADD TWO NUMBERS 2220 ALFA DAD 11775 !CHECK FOR ALPHA CHAR. & UPC IF SO 2230 ALPHA. DAD 36105 !FORCE CRT TO ALPHA MODE 2240 ASIGN. DAD 27056 !OPEN A BUFFER TO A DATA FILE 2250 ATN2. DAD 76455 !DOES ATN2(Y,X) 2260 BEEP. DAD 6737 !BEEP COMMAND 2270 BLKLIN DAD 36320 !BLANK A LINE ON CRT 2280 BPLOT. DAD 34365 !BPLOT 2290 BYTCRT DAD 35423 !SETS CRT BYTE ADDRESS TO R# 2300 BYTCR! DAD 35422 !SETS CRT BYTE ADDRESS TO R34 2310 CEIL10 DAD 53615 !CEIL FUNCTION 2320 CHKSTS DAD 36335 !DEMAND CRT NOT BUSY 2330 CHSROI DAD 52075 !CHANGE SIGN OF A REAL OR INTEGER 2340 CLEAR. DAD 35021 !CLEAR A PAGE OF CRT ALPHA 2350 CLREOL DAD 35535 !CLEAR TO END OF LINE 2360 CNTRTR DAD 36002 !COUNT CRT RETRACES 2370 COMFLT DAD 32621 !COMPARE TWO NUMBERS 2380 COMMA$ DAD 70634 !PRINT A STRING FOLLOWED BY COMMA 2390 COMMA. DAD 70756 !PRINT A NUMBER FOLLOWED BY A COMMA 2400 CONBIN DAD 3572 !CONVERT A 16-BIT # TO A REAL # 2410 CONCA. DAD 75005 !CONCATENATE TWO STRINGS 2420 CONINT DAD 44321 !CONVERT A REAL # TO A 16-BIT # 2430 COPY. DAD 75360 !COPY CRT TO INTERNAL PRINTER 2440 COS10 DAD 53556 !COSINE FUNCTION 2450 COT10 DAD 53536 !COTANGENT FUNCTION 2460 CREAT. DAD 26561 !CREATE A DATA FILE 2470 CRTBL+ DAD 36255 !INITIALIZE PART OF CRT ALPHA 2480 CRTBLK DAD 36247 !INITIALIZE ALL OF CRT ALPHA 2490 CRTINT DAD 36177 !INITIALIZE ALL OF ALPHA & GRAPHICS 2500 CRTPOF DAD 35703 !POWER DOWN CRT 2510 CRTPUP DAD 35716 !POWER UP CRT 2520 CRTUNW DAD 36067 !UNWIPE CRT 2530 CRTWPO DAD 35661 !WIPE-OUT CRT TO HIDE UGLY FLASH 2540 CSEC10 DAD 53503 !COSECANT FUNCTION 2550 CURS DAD 35055 !SPIT OUT A CURSOR TO CRT 2560 CVNUM DAD 71135 !FORMAT A REAL # TO ASCII FOR OUTPUT 2570 DATE. DAD 37673 !DATE FUNCTION 2580 DECUR2 DAD 35547 !ERASE CURSOR FROM CRT 2590 DEG. DAD 61736 !SET HP-85 TO DEGREE MODE 2600 DEG10 DAD 54142 !RADIANS TO DEGREE CONVERSION 2610 DIGIT DAD 12027 !CHECK FOR A DIGIT 2620 DISP. DAD 70046 !SET PRINT PTRS TO 'CRT IS' DEVICE 2630 DIV2 DAD 51641 !DIVIDE TWO NUMBERS 2640 DMNDCR DAD 15060 !DEMAND EITHER A CARRIAGE RTN OR BANG (!) 2650 DNCUR. DAD 35306 !MOVE CURSOR DOWN ONE ROW ON CURRENT PAGE 2660 DNCURS DAD 35370 !MOVE CURSOR DOWN ON ALL 4 PAGES 2670 DRAW. DAD 33015 !DRAW A LINE ON THE CRT 2680 DRV12. DAD 5462 !DUMP BUFFER TO CRT, PRINTER,OR I/O 2690 EOJ2 DAD 34772 !RESET R17 AND SVCWRD AFTER KEY IS HANDLED 2700 EPS10 DAD 54126 !EPSILON FUNCTION 2710 EQ. DAD 62173 !CHECK TWO #'S FOR EQUALITY 2720 EQ$. DAD 3006 !CHECKS TWO STRINGS FOR EQUALITY 2730 ERROR DAD 6615 !REPORTS AN ERROR 2740 ERROR+ DAD 6611 !REPORTS ERROR & THROWS AWAY ONE RETURN 2750 EXP5 DAD 52377 !EXPONENTIATE 2760 FETAV DAD 44727 !FETCH ARRAY VARIABLE 2770 FETAVA DAD 44734 !FETCH ARRAY VARIABLE ADDRESS 2780 FETST DAD 45206 !FETCH STRING VARIABLE 2790 FETSV DAD 44535 !FETCH SIMPLE NUMERIC VARIABLE 2800 FETSVA DAD 44556 !FETCH SIMPLE VARIABLE ADDRESS 2810 FLIP. DAD 35011 !FLIP KEYBOARD UPPERCASE/LOWERCASE 2820 FORMN+ DAD 71146 !FORMAT NUMBER 2830 FP5 DAD 54071 !FRACTIONAL PART 2840 G$N DAD 14323 !GET A STRING AND NUMBER 2850 G$N+NN DAD 14421 !GET A STRING AND NUMBER AND OPTIONS 2860 G012N DAD 14465 !GET 0,l,OR 2 NUMBERS 2870 G01N DAD 14504 !GET 0 OR 1 NUMBERS 2880 G0OR2N DAD 14522 !GET 0 OR 2 NUMBERS 2890 G12OR4 DAD 14550 !GET 1,2 OR 4 NUMBERS 2900 G1OR2N DAD 14537 !GET 1 OR 2 NUMBERS 2910 GCHAR DAD 11755 !GET THE NEXT CHAR TO R20 2920 GCLR. DAD 36013 !GCLEAR 2930 GEQ. DAD 62304 !CHECK TWO #'S FOR >= 2940 GEQ$. DAD 3111 !CHECK STRINGS FOR >= 2950 GET$N? DAD 14560 !GET STRING AND NUMBER? 2960 GET) DAD 13365 !GET CLOSE PAREN 2970 GET1$ DAD 14455 !GET ONE STRING 2980 GET1N DAD 14337 !GET 1 NUMBER 2990 GET2N DAD 14407 !GET 2 NUMBERS 3000 GET4N DAD 14414 !GET 4 NUMBERS 3010 GETCMA DAD 13414 !DEMAND A COMMA 3020 GETCM? DAD 13425 !CHECK FOR A COMMA 3030 GETPA? DAD 14516 !GET PARAMETERS 3040 GETPAR DAD 14342 !GET PARAMETERS 3050 GRAD. DAD 61753 !SET COMPUTER TO GRAD TRIG MODE 3060 GR. DAD 62255 !CHECK TWO NUMBERS FOR > 3070 GR$. DAD 3036 !CHECK TWO STRINGS FOR > 3080 GRAPH. DAD 36147 !FORCE CRT TO GRAPH MODE 3090 GRINIT DAD 36220 !INITIALIZE THE GRAPHICS SCREEN 3100 HLFLIN DAD 35121 !DUMP A BUFFER TO THE CRT WITH NO CR 3110 HMCURS DAD 35527 !SEND CURSOR TO HOME 3120 ICOS DAD 76552 !ARCCOSINE FUNCTION 3130 IDRAW. DAD 32752 !INCREMENTAL DRAW 3140 IMOVE. DAD 31675 !INCREMENTAL MOVE 3150 INCHR DAD 35244 !READ IN A CHARACTER FROM CRT 3160 INCHR- DAD 35220 !READ CRT IF WPO GUARANTEED 3170 INF10 DAD 53524 !INFINITY 3180 INT5 DAD 53776 !INTEGER PART 3190 INTDIV DAD 54005 !INTEGER DIVIDE 3200 INTEGR DAD 11447 !GET AN INTEGER NUMBER 3210 INTMUL DAD 53076 !MULTIPLY TWO 16-BIT BINARY NUMBERS 3220 INTORL DAD 56343 !CONVERT A TAGGED INTEGER TO A REAL # 3230 IP5 DAD 54174 !INTEGER PART 3235 ISIN DAD 76542 !ARCSIN FUNCTION 3240 ITAN DAD 76562 !ARCTANGENT 3250 LABEL. DAD 34044 !LABEL ON CRT GRAPHICS 3260 LDIR. DAD 34020 !SET LABEL DIRECTION 3270 LEQ. DAD 62232 !CHECK TWO #'S FOR <= 3280 LEQ$. DAD 3100 !CHECK TWO STRINGS FOR <= 3290 LN5 DAD 51551 !NATURAL LOGARITHM 3300 LOGT5 DAD 51720 !LOG BASE TEN 3310 LT. DAD 62213 !CHECK TWO #'S FOR < 3320 LT$. DAD 3057 !CHECK TWO STRINGS FOR < 3330 LTCUR. DAD 35332 !MOVE CURSOR LEFT ONE COLUMN ON CURRENT PAGE 3340 LTCURS DAD 35366 !MOVE CURSOR LEFT ON ALL 4 PAGES 3350 MAX10 DAD 55364 !MAXIMUM FUNCTION 3360 MIN10 DAD 55345 !MINIMUM FUNCTION 3370 MOD10 DAD 51744 !MOD FUNCTION 3380 MOVCRS DAD 35410 !MOVE CURSOR 3390 MOVDN DAD 37324 !MOVE MEMORY AND DECREMENT 3400 MOVE. DAD 31703 !MOVE ON CRT 3410 MOVUP DAD 37365 !MOVE MEMORY AND INCREMENT 3420 MPYROI DAD 52722 !MULTIPLY TWO NUMBERS 3430 NARRE+ DAD 13376 !SCAN & PARSE ARRAY REF WITHOUT PARENS 3440 NARREF DAD 13402 !PARSE ARRAY REF WITHOUT PARENS 3450 NUMCON DAD 13466 !GET A NUMERIC CONSTANT 3460 NUMVA+ DAD 12407 !SCAN AND GET A NUMERIC VALUE 3470 NUMVAL DAD 12412 !GET A NUMERIC VALUE 3480 OFTIM. DAD 66211 !TURN A TIMER OFF 3490 ONEB DAD 56113 !GET 1 NUMBER OFF R12 AS 15-BIT SIGNED BINARY 3500 ONEI DAD 56154 !GET ONE NUMBER OFF R12 AS TAGGED INTEGER 3510 ONER DAD 56215 !GET 1 NUMBER OFF R12 AS FLOATING POINT 3520 ONEROI DAD 56253 !GET 1 NUMBER OFF R12 AS REAL OR INTEGER 3530 ONTIM. DAD 66041 !TURN ON A TIMER 3540 OUTCHR DAD 35114 !OUTPUT ONE CHAR TO CRT 3550 OUTSTR DAD 35052 !OUTPUT A STRING TO CRT 3560 P#ARAY DAD 57642 !PRINT AN ARRAY TO A DATA FILE 3570 PAPER. DAD 76144 !ADVANCE INTERNAL PRINTER 3580 PEN. DAD 66416 !PEN STATEMENT 3590 PENUP. DAD 66440 !PENUP 3600 PI10 DAD 53577 !PI FUNCTION 3610 PLOT. DAD 32642 !PLOT TO CRT 3620 POS. DAD 3435 !POS FUNCTION 3630 PRDVR1 DAD 75767 !OUTPUT A STRING TO THE INTERNAL PRINTER 3640 PRINT. DAD 70067 !SET UP PRINT PTRS TO 'PRINTER IS' DEVICE 3650 PRLINE DAD 70402 !DUMP THE PRINT BUFFER 3660 PRNT#$ DAD 30577 !PRINT A STRING TO A DATA FILE 3670 PRNT#. DAD 30055 !MOVE THE PRINT PTRS IN THE BUFFER 3680 PRNT#N DAD 31022 !PRINT A NUMBER TO A DATA FILE 3690 PURGE. DAD 26013 !PURGE FILES 3700 PUSH1A DAD 14244 !PUSH A TOKEN 3710 PUSH32 DAD 14277 !PUSH TOKEN IN R14 & REGS R44-6 & SCAN 3720 PUSH45 DAD 14266 !PUSH TOKEN IN R14 & REGS R44-5 & SCAN 3730 R#ARAY DAD 77602 !READ AN ARRAY FROM A DATA FILE 3740 RAD. DAD 61746 !PUT COMPUTER IN RADIANS TRIG MODE 3750 RAD10 DAD 53675 !DEGREES TO RADIANS CONVERSION 3760 READ#$ DAD 31335 !READ A STRING FROM A DATA FILE 3770 READ#. DAD 30055 !MOVE THE READ PTR 3780 READ#N DAD 31167 !READ A NUMBER FROM A DATA FILE 3790 REFNUM DAD 17025 !GET A VARIABLE REFERENCE 3800 RELMEM DAD 37534 !RELEASE RESERVED MEMORY 3810 REM10 DAD 51736 !REMAINDER 3820 RESMEM DAD 37442 !RESERVE MEMORY FOR TEMPORARY SCRATCH 3830 RND10 DAD 53144 !RANDON NUMBER FUNCTION 3840 RNDIZ. DAD 55115 !RANDOMIZE STATEMENT 3850 ROMJSB DAD 4776 !FOR CALLING BETWEEN BANK SELECTED ROMS 3860 ROMRTN DAD 4762 !GTO ROMRTN = RETURN WITH ROM 0 SELECTED 3870 ROU10 DAD 55163 !ROUND 3875 RSMEM- DAD 37453 !RESERVE TEMPORARY SCRATCHPAD MEMORY 3880 RSUM#K DAD 37726 !CHECKSUM # OF BYTES 3890 RSUM8K DAD 37722 !CHECKSUM AN 8K ROM 3900 RTCUR. DAD 35351 !MOVE CURSOR RIGHT ON CURRENT PAGE 3910 RTCURS DAD 35404 !MOVE CURSOR RIGHT ON ALL 4 PAGES 3920 RTOIN DAD 44204 !CONVERT A REAL # TO A TAGGED INTEGER 3930 SCALE. DAD 66247 !SCALE THE CRT GRAPHICS 3940 SCAN DAD 11262 !SCAN FOR PARSER 3950 SCAN+ DAD 11257 !GCHAR AND SCAN 3960 SCRAT+ DAD 4344 !SUBSET OF SCRAT. (SCRATCHES BASIC PGM & BPGM) 3970 SCRAT. DAD 4437 !SCRATCH (DOES SCRAT+ & RESETS SOME PTRS) 3980 SCRDN DAD 35625 !SCROLL ALPHA DOWN 3990 SCRUP DAD 35654 !SCROLL ALPHA CRT UP 4000 SEC10 DAD 53463 !SECANT 4010 SEMIC$ DAD 70643 !PRINT A STRING FOLLOWED BY SEMICOLON 4020 SEMIC. DAD 70765 !PRINT A NUMBER FOLLOWED BY A SEMICOLON 4030 SEQNO+ DAD 17454 !PUSH THE INCOMING TOKEN AND GET A LINE # 4040 SEQNO DAD 17457 !GET A LINE NUMBER 4050 SET240 DAD 11243 !SET IMMEDIATE BREAK BITS IN R17 4060 SGN5 DAD 53405 !SIGN FUNCTION 4070 SIN10 DAD 53546 !SINE 4080 SMLINT DAD 13474 !PARSE AN INTEGER 4090 SQR5 DAD 52442 !SQUARE ROOT 4100 STBEEP DAD 7017 !STANDARD BEEP (NO PARAMETERS) 4110 STOST DAD 45603 !STORE STRING 4120 STOSV DAD 45254 !STORE SIMPLE AND ARRAY VARIABLE 4130 STRCON DAD 14036 !PARSE A QUOTED STRING 4140 STREX+ DAD 13623 !SCAN AND PARSE A STRING EXPRESSION 4150 STREXP DAD 13626 !PARSE A STRING EXPRESSION 4160 STRREF DAD 13753 !PARSE A STRING VARIABLE AS A STORE STRING 4170 SUBROI DAD 52127 !SUBTRACT TWO NUMBERS 4180 TAN10 DAD 53566 !TANGENT 4190 TIME. DAD 65517 !TIME FUNCTION 4200 TRY1N DAD 14566 !GETS 0 OR 1 NUMERIC VALUES 4210 TWOB DAD 56176 !GET TWO NUMBERS OFF R12 AS 15-BIT SIGNED #'S 4220 TWOR DAD 56236 !GET TWO NUMBERS OFF R12 AS REAL #'S 4230 TWOROI DAD 56266 !GET TWO NUMBERS OFF R12 AS REAL OR INTEGER 4240 UNEQ$. DAD 3025 !CHECK TWO STRINGS FOR NOT EQUAL 4250 UNEQ. DAD 62202 !COMPARE TWO #'S FOR INEQUALITY 4260 UNQUOT DAD 14212 !PARSE AN UNQUOTED STRING 4270 UPC$. DAD 3373 !UPPER CASE FUNCTION 4280 UPCUR. DAD 35264 !MOVE CURSOR UP ON CURRENT PAGE 4290 UPCURS DAD 35362 !MOVE CURSOR UP ON ALL FOUR PAGES 4300 VAL$. DAD 3207 !VAL$ FUNCTION 4310 VAL. DAD 3250 !VAL FUNCTION 4320 WAIT. DAD 65701 !WAIT X MILLISECONDS 4330 XAXIS. DAD 32303 !XAXIS STATEMENT 4340 YAXIS. DAD 32347 !YAXIS STATEMENT 4350 YTX5 DAD 53242 !Y^X FUNCTION 4360 ZROMEM DAD 44066 !ZERO OR BLANK A BLOCK OF MEMORY 4370 FIN