@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `1  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu  } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED736 FREE SECTORS COPYING---D1:DIRECK.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 138ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR}  #` 2#` q#` #` #` #` $` $` $` %` 7%` Z%` z%` %` %` T} (y (`8`U} ! O P Q  O O ii . . . L!` ) )@ ) V} ) ) ) ) ) ) )@ )  ) W} ) !" ) ) ) ) )@ )  ) ) )X} ) ) ) )@ )  ) ) ) ) Y} ) `"#ԆՄ֥ץإ٠ԙ ֙ ` " !ԙ  M! ؈` " )JJJJi0:i= Ƚ )i0Z}:i= ө= < ` "N n n n  Ԉ` " . . .  Ԉ` "  ֈ` "[}ԙ< ɛ= #$ ɛ80 8 L$80 8  L$80 8 0n80 8\}  0T80 8 0B80 8  0(80 8 080 8   ֈ` " ]}  ֈ` "$%   ؈` " 9  ؈` " Y  ؈` "( y ^} ( ؈` "    Ԉ` "8( ( ؈` "  L%L%L%_}` &L%  %G %&H I J N M L  L&% %%%%K  LB&L`}D&LD&iG H I J !G H I J M! L& ؈a}`ԆՄ֥ץإ٠ԙG ֙K `&j `/ lʆ &e J Jꅆ8冨凪`ʆ ee c}` 9E…¥ 9` l'&&&8儨児祂*L2&&*ń8&&L2 d}` Fj`hihiHHȱȱLڧ`膥ɠQ-ĮȐ`此į۠ e}ŲLlȄ.70Q- Ġ7`eޠ Ȅ e _ 嘠ƍ iť +и f}Φ +У +Ж꥾ +ȑȑȑɦȘ 9`ߢiI^I^Lࢠ]I g}^+ 8+ _0)?ʈ  v}LbACTION! (c)1983 Action Computer Services (ACS) November 4, 1983 6. : BLV`  w} B JKIHiDiELV䄦 eRU _椤E +ƣ` x} 0H8`L L² 9  P t LWError: Ԇ ؠPIP y}P`/`"/ԭ` PLnH ~h:,'iԥiՠiɨɑԈȩDȩ:ɥɤ LGLʰ z}L,/5Ѕ` 232338040000The CTH Unsigned Long Integer Library For ACTION! The actual long library is containe|}d in the file action.bin. It resides at $2000-$26d3. The library hooks are all at the beginning of the library. This was d}}one so that if further revisions of the library are forthcoming, you won't have to recompile your action programs. The libra~}ry routine's entry points will remain constant across future library updates. The test.act is the source to the demo pr}ogram. You can use it to see how to interface an action program to the long library. The t.com is the complete demo pr}ogram. It allows you to preform the following functions:Rsh_long(x,y,z)Lsh_long(x,y,z)And_long(x,y,z)Or_long(x,y,z)Eor}_long(x,y,z)Mul_long(x,y,z)Add_long(x,y,z)Sub_long(x,y,z)Power_long(x,y,z)Long_to_hex(x,string)Hex_to_long(string,x)I_}to_long(x,y)Copy_long(x,y)Bmp_long(x)Eval_long(x,y)---------------------------------------Proc And Func Definitions } Note that all longs must be declared as a LONG. 'LONG' must be TYPE defined, as in the test.act program. In all cases, }except for Eval_long, parameters are returned though either the 1st, 2nd, or 3rd parameter.Bitwise Long FunctionsProc Rsh}_long(LONG x,y,z) This function will take the LONG x and shift it right LONG Y times, and store the result in LONG Z.}Lsh_long(LONG x,y,z) This function will take the LONG x and shift it left LONG Y times, and store the result in LONG Z}.And_long(LONG x,y,z) This function will take the LONG x and AND it with LONG Y, and store the result in LONG Z.Or_}long(LONG x,y,z) This function will take the LONG x and OR it with LONG Y, and store the result in LONG Z.Eor_long(LO}NG x,y,z) This function will take the LONG x and EOR it with LONG Y, and store the result in LONG Z.Arithmetic Long F}unctionsMul_long(LONG x,y,z) This function will take LONG x and multiply it by LONG y, and store the result in LONG z}.Add_long(LONG x,y,z) This function will take LONG x and add it with LONG y, and store the result in LONG z.Sub_lon}g(LONG x,y,z) This function will take LONG x and subtract LONG y from it, and store the result in LONG z.Power_long(L}ONG x,y,z) This function will calculate x to the power of y, and put the results in z. It can handle up to 2^$1e, whic}h is $80000000.Conversion Long FunctionsLong_to_hex(LONG x,CHAR ARRAY string) This function will take LONG x and co}nvert it to a hex string at h_num. Note that this routine takes into account the length byte normally found at the beginning} of Action! strings. Also note that the conversion string must be declared and defined like 'string1' and 'string2' in the t}est.act program.Hex_to_long(CHAR ARRAY string,LONG x) This function will take hex-string x and convert it to a LONG a}t LONG x. Note that this routine takes into account the length byte normally found at the beginning of Action! strings. Als}o note that the conversion string must be declared and defined like 'string1' and 'string2' in the test.act program.I_to_l}ong(CARD x,LONG y) This function will take CARD x and convert it to LONG y.Conversion Long FunctionsCopy_long(LONG }x,y) This function will x to y.Bmp_long(LONG x) This will increment x by one.BYTE FUNC Eval_long(LONG x,y) } This function compare x to y. It will return: 0 if x=y 1 if x>y $FF if y>x-------------------------}--------------Notes about compiling Most action programmers set 14 and $491 to force an Action! program to compile to} a certain address. I usually just "LOAD MEMLO.BIN" from the dos command line. Memlo.bin is included in this arc. But the }point is, is that you must protect the long library from being over written by the action code. Use whatever method you pref}er. After compiling your action source to a safe memory location, write the binary file out to disk. I use a 'MAKE.BAT}' to link everthing together. Here is what it looks like-COPY *.V03 T.COMCOPY ACTION.BIN T.COM/ACOPY TEST.COM T.COM/A } The 1st line copies the handy-dandy little runtime module to the t.com file. The 2nd line copies my long library and app}ends it to t.com. The 3rd line copies my binary action program and appends it to t.com, which is the finished program. That}'s all there is to it.The CTH Unsigned Long Integer Library For ACTION! The actual long library iscontained in the file action.}bin. Itresides at $2000-$26d3. The libraryhooks are all at the beginning of thelibrary. This was done so that iffurthe}r revisions of the library areforthcoming, you won't have torecompile your action programs. Thelibrary routine's entry po}ints willremain constant across future libraryupdates. The test.act is the source to thedemo program. You can use i}t to seehow to interface an action program tothe long library. The t.com is the complete demoprogram. It allows you} to preform thefollowing functions:Rsh_long(x,y,z)Lsh_long(x,y,z)And_long(x,y,z)Or_long(x,y,z)Eor_long(x,y,z)Mul_l}ong(x,y,z)Add_long(x,y,z)Sub_long(x,y,z)Power_long(x,y,z)Long_to_hex(x,string)Hex_to_long(string,x)I_to_long(x,y)Copy_}long(x,y)Bmp_long(x)Eval_long(x,y)--------------------------------------Proc And Func Definitions Note that all }longs must bedeclared as a LONG. 'LONG' must beTYPE defined, as in the test.actprogram. In all cases, except forEval}_long, parameters are returnedthough either the 1st, 2nd, or 3rdparameter.Bitwise Long FunctionsProc Rsh_long(LONG x,y,}z) This function will take the LONGx and shift it right LONG Y times, andstore the result in LONG Z.Lsh_long(LONG }x,y,z) This function will take the LONGx and shift it left LONG Y times, andstore the result in LONG Z.And_long(LON}G x,y,z) This function will take the LONGx and AND it with LONG Y, and storethe result in LONG Z.Or_long(LONG x,}y,z) This function will take the LONGx and OR it with LONG Y, and store theresult in LONG Z.Eor_long(LONG x,y,z) } This function will take the LONGx and EOR it with LONG Y, and storethe result in LONG Z.Arithmetic Long FunctionsMu}l_long(LONG x,y,z) This function will take LONG xand multiply it by LONG y, and storethe result in LONG z.Add_lo}ng(LONG x,y,z) This function will take LONG xand add it with LONG y, and store theresult in LONG z.Sub_long(LONG x,}y,z) This function will take LONG xand subtract LONG y from it, and storethe result in LONG z.Power_long(LONG x,y,z}) This function will calculate x tothe power of y, and put the results inz. It can handle up to 2^$1e, whichis $800}00000.Conversion Long FunctionsLong_to_hex(LONG x,CHAR ARRAY string) This function will take LONG xand convert }it to a hex string ath_num. Note that this routine takesinto account the length byte normallyfound at the beginning of Ac}tion!strings. Also note that theconversion string must be declared anddefined like 'string1' and 'string2'in the test.ac}t program.Hex_to_long(CHAR ARRAY string,LONG x) This function will takehex-string x and convert it to a LONGat LONG} x. Note that this routinetakes into account the length bytenormally found at the beginning ofAction! strings. Also note} that theconversion string must be declared anddefined like 'string1' and 'string2'in the test.act program.I_to_long}(CARD x,LONG y) This function will take CARD xand convert it to LONG y.Conversion Long FunctionsCopy_long(LONG x,y}) This function will x to y.Bmp_long(LONG x) This will increment x by one.BYTE FUNC Eval_long(LONG x,y) } This function compare x to y. Itwill return: 0 if x=y 1 if x>y $FF if y>x-------------------------}-------------Notes about compiling Most action programmers set 14and $491 to force an Action! programto compile to} a certain address. Iusually just "LOAD MEMLO.BIN" from thedos command line. Memlo.bin isincluded in this arc. But the }pointis, is that you must protect the longlibrary from being over written by theaction code. Use whatever method youpref}er. After compiling your actionsource to a safe memory location,write the binary file out to disk. Iuse a 'MAKE.BAT}' to link everthingtogether. Here is what it lookslike-COPY *.V03 T.COMCOPY ACTION.BIN T.COM/ACOPY TEST.COM T.COM/A} The 1st line copies thehandy-dandy little runtime module tothe t.com file. The 2nd line copiesmy long library and }appends it tot.com. The 3rd line copies my binaryaction program and appends it tot.com, which is the finished program. T}hat's all there is to it. BThe CTH Unsigned Long Integer Library(C) Copyright 1995CTH EnterprisesAll Rights Under Copyright ReservedBy Tom Hunt } The programs contained in this are are ACTION! and CC65 language interfaces to my unsigned long integer library. ACTION.}ARC is the ACTION! version, and CC65.ARC is the CC65 version. Both contain the same low-level code for the binary library, b}ut each with different language hooks. Also contained in these arc's are sample demo programs, to illustrate how to incorpora}te the library into your own programs.--------------------------------------Release notes: January 28, 1995- Inita}il release on CTH BBS.COPY *.V03 T.COMCOPY ACTION.BIN T.COM/ACOPY TEST.COM T.COM/A@@ j `/ lʆ &e J Jꅆ8冨凪`ʆ ee$}` 9E…¥ 9` l'&&&8儨児祂*L2&&*ń8&&L2 $}` Fj`hihiHHȱȱLڧ`膥ɠQ-ĮȐ`此į۠$}ŲLlȄ.70Q- Ġ7`eޠ Ȅ e _ 嘠ƍ iť +и$}Φ +У +Ж꥾ +ȑȑȑɦȘ 9`ߢiI^I^Lࢠ]I$}^+ 8+ _0)?ʈ $}LbACTION! (c)1983 Action Computer Services (ACS) November 4, 1983 6. : BLV` $} B JKIHiDiELV䄦 eRU _椤E +ƣ`$} 0H8`L L² 9  P t LWError: Ԇ ؠPIP$}P`/`"/ԭ` PLnH ~h:,'iԥiՠiɨɑԈȩDȩ:ɥɤ LGLʰ$}L,/5Ѕ` & #` 2#` q#` #` #` #` $` $` $` %` 7%` Z%` z%` %` %` $} (y $}(`8` O P Q  O O ii . . . L!` ) )@$} )  ) ) ) ) ) ) )@ )  $} ) ) ) ) ) ) )@ )  ) ) $} ) ) ) ) )@ )  ) ) ) )$} ) `ԆՄ֥ץإ٠ԙ ֙ ` " !ԙ  M! ؈` " )JJJJi0:i= Ƚ )$}i0:i= ө= < ` "N n n n  Ԉ` " . . .  Ԉ` "  ֈ` $}"ԙ< ɛ=  ɛ80 8 L$80 8  L$80 8 0n80 8$}  0T80 8 0B80 8  0(80 8 080 8   ֈ` " $}  ֈ` "   ؈` " 9  ؈` " Y  ؈` "( y $}( ؈` "    Ԉ` "8( ( ؈` "  L%L%L%` $}&L%  %G H I J N M L  L&% %%%%K  LB&LD&LD&$}iG H I J !G H I J M! L& ؈`ԆՄ$}ץإ٠ԙG ֙K `G#SL G yl `LGGG yL(GK:G%G DG GG Τ ̤G yG`L]G$} w w y T w wR w`LG ZGLG% A demonstration of the CTH UnsignedG lLG$ Long Integer L$}ibrary, for ACTION!G l ̤L)H( H L\H( 0 Long Multiply $}H3 LH( 1 Long RSH Hf LH( 2 Long LSH H LH( 3 Long OR $} H L(I( 4 Long AND H L[I( 5 Long EOR $} I2 LI( 6 Long ADD Ie LI( 7 Long SUB I LI( 8 Lon$}g EVAL I L'J( 9 Long POWERS I LZJ( X Exit $} J1 LJ(Jd  ̤LJPlease Choose :J ` $}J JLJJJJJJJ  JJ  JJ  G GJJI0LKLFKInput large HEX # for x K- $} JJ JJJ  LKInput large HEX # for y Kn  JJ JJJ  JJJ <$}J  LK$K  < lLSJI1LLL LInput large HEX # for x K  JJ JJJ  LKLInput large HEX # $}for y L2  JJ JJJ  JJJ  p2R lLIRJI%}L9RL/Rp2 > p1R' lLIRLBRDunnoR< lLSJI9LSLrRInput large HEX # for x RY  JJ JJJ  LRInp% }ut large HEX # for y R  JJ JJJ  JJJ 8 be defined and; initialized.;*****)}*******************************char array string1=" "char array string2=" " ZERO.L1 =$0000:ZERO.L2=$0) }000 copy_long(zero,x) copy_long(zero,y) copy_long(zero,z) Print_Menu(); b=Getkbd(1) if b='0)!} then;************************************; Long Multiply ;************************************ )"} Print("Input large HEX # for x ") InputMD(0,string1,9) hex_to_long(string1,x) Print("Inpu)#}t large HEX # for y ") InputMD(0,string2,9) hex_to_long(string2,y) mul_long(x,y,z) l)$}ong_to_hex(z,H_NUM) Print("$"):printe(h_num) elseif b='1 then;************************************; Long RSH)%} ;************************************ Print("Input large HEX # for x ") Input)&}MD(0,string1,9) hex_to_long(string1,x) Print("Input large HEX # for y ") InputMD(0,string2,9))'} hex_to_long(string2,y) rsh_long(x,y,x) long_to_hex(x,H_NUM) Print("$"):printe(h_num))(} elseif b='2 then;************************************; Long LSH ;*************************))}*********** Print("Input large HEX # for x ") InputMD(0,string1,9) hex_to_long(string1,x) )*} Print("Input large HEX # for y ") InputMD(0,string2,9) hex_to_long(string2,y) lsh_long(x)+},y,x) long_to_hex(x,H_NUM) Print("$"):printe(h_num) elseif b='3 then;******************************),}******; Long OR ;************************************ Print("Input large HEX # for x ")-}) InputMD(0,string1,9) hex_to_long(string1,x) Print("Input large HEX # for y ") Inpu).}tMD(0,string2,9) hex_to_long(string2,y) or_long(x,y,x) long_to_hex(x,H_NUM) Print("$)/}"):printe(h_num) elseif b='4 then;************************************; Long AND ;*********)0}*************************** Print("Input large HEX # for x ") InputMD(0,string1,9) hex_to_long()1}string1,x) Print("Input large HEX # for y ") InputMD(0,string2,9) hex_to_long(string2,y) )2} and_long(x,y,x) long_to_hex(x,H_NUM) Print("$"):printe(h_num) elseif b='5 then;**************)3}**********************; Long EOR ;************************************ Print("Input lar)4}ge HEX # for x ") InputMD(0,string1,9) hex_to_long(string1,x) Print("Input large HEX # for y ")5}) InputMD(0,string2,9) hex_to_long(string2,y) eor_long(x,y,x) long_to_hex(x,H_NUM) )6} Print("$"):printe(h_num) elseif b='6 then;************************************; Long ADD )7} ;************************************ Print("Input large HEX # for x ") InputMD(0,string1,9) )8} hex_to_long(string1,x) Print("Input large HEX # for y ") InputMD(0,string2,9) hex_to_long)9}(string2,y) add_long(x,y,z) long_to_hex(z,H_NUM) Print("$"):printe(h_num) elseif b='7 the):}n;************************************; Long SUB ;************************************ );} Print("Input large HEX # for x ") InputMD(0,string1,9) hex_to_long(string1,x) Print("Input la)<}rge HEX # for y ") InputMD(0,string2,9) hex_to_long(string2,y) sub_long(x,y,z) long_)=}to_hex(z,H_NUM) Print("$"):printe(h_num) elseif b='8 then;************************************; Long EVAL )>} ;************************************ Print("Input large HEX # for x ") InputMD(0)?},string1,9) hex_to_long(string1,x) Print("Input large HEX # for y ") InputMD(0,string2,9) )@} hex_to_long(string2,y) b=eval_long(x,y); long_to_hex(x,H_NUM); Print("$"):printe(h_num) )A} if b=0 then PrintE("p1 = p2") elseif b=1 then PrintE("p1 > p2") elseif b=)B}$FF then PrintE("p2 > p1") else PrintE("Dunno") fi elseif b='9 then;*******)C}*****************************; Long POWER ;************************************ Print("In)D}put large HEX # for x ") InputMD(0,string1,9) hex_to_long(string1,x) Print("Input large HEX # )E}for y ") InputMD(0,string2,9) hex_to_long(string2,y) power_long(x,y,z) long_to_hex(z)F},H_NUM) Print("$"):printe(h_num) else PrintE("Huh?")fi MY_EXIT()return(i0s0L3 ^ L;0LC0Ld0LR0 BLVJKBLV䨩HI BLVHIBLVt0o-H}1 -I} (y!1!1(`8` t0u0!1"1#1$1v01t0t0 ii1.1.1.-J}1LAp1k21` 1) 0 1 1)@ 0 1 1)  0 1 1) 0 1 1) 0 1 1) 0 1 1) 0 1 1) 0 11) 0 -K}11)@ 0 11)  0 11) 0 11) 0 11) 0 11) 0 11) 0 11) 0 11)@ 0 11) -L} 0 11l23) 0 11) 0 11) 0 11) 0 11) 0 11) 0 11)@ 0 11)  0 11) 0 -M} 11) 0 11) 0 11) 0 11) 0 1`34`3RLB3} A Demonstration Of The!D3E!H-N}I B VL3 CTH LONG INTEGER LIBRARYeD3E!HI B VL3 D3EHI B VL3Note-O}: Do not use preceeding '$'.ΝD3E!HI B V4 5L4 D4EHI B VL^4Note: Hex digits may-P} be 1-8 characters7D4E'HI B VL4 in length.D4EHI B VL4 D4EH-Q}I B VL4Please input a hex number for p1.ڝD4E" 56HI B VD0E HIB V0-R}0ɛ80 80L 680 8 00L 680 800n80 8 000T80 -S}800B80 8 000(80 80080 8 0670L6 D6EHI B VLV6Ple-T}ase input a hex number for p2.4D6E"HI B VD0E HIB VL6 D6EHI B-U} V00ɛ80 80L780 8 0077L780 800n80 8 -V}000T80 800B80 8 000(80 80080 8 0000 L7L7L7/-W}L7p1 = p2.D7E HI B VLh8/L7p1 > p2.D7E HI78 B VLh8/L8p1 < p2.D-X}8E HI B VLh8LJ8dunno.CD8EHI B VLo8 mD8EHI B VL8Adding p1 + p2-Y} =D8EHI B V(0y00(L8 ۝D8EHI B V890)JJJJi0:i0Ƚ0-Z})i0:i0ө0D0EHI B VLV9 TD9EHI B VL9Multiplying p1 * p2 =yD-[}9EHI B V010101010101010 1 %101010109:1 r1!10"10#10$-\}100)JJJJi0:i0Ƚ0)i0:i0ө0D0EHI B VLn: lD:EHI B V-]}L:p1 ^ p2 =D:E HI B VL: 0:000000000 00:;0000L;-^}: ::::0 L3;L5;L5;i010101010101010 1 %101010101-_} r1!10"10#10$10L;0)JJJJi0:i0Ƚ0)i0:i0ө0D0EHI ;;B V`,wB%DOS SYSB*)DUP SYSBSACTION BINBbACTRNTM V03B${ACT_LONGDOCB$ACT_LONGPRTBALL DOCBMAKE BATBMEMLO BINB@T COMB< TEST ACTBGTEST COM