Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!helios!tamunix!n023el From: n023el@tamunix (Robert Ellis) Newsgroups: comp.sys.handhelds Subject: Improved PEEK Routine Message-ID: <5930@helios.TAMU.EDU> Date: 16 Jun 90 11:51:08 GMT Sender: usenet@helios.TAMU.EDU Organization: Texas A&M University Lines: 101 >From n233dk Thu Jun 14 02:33:29 1990 Return-Path: Received: by tamuts.tamu.edu (/\../\ Smail3.1.14.4 #14.2) id ; Thu, 14 Jun 90 02:33 CDT Message-Id: Date: Thu, 14 Jun 90 02:33 CDT From: n233dk (Frederick Grevelle) To: n023el As suggested by Alonzo Gariepy, here is an improved version of PIG. 69C20 53000 132 SWAP.A A,D0 103 MOVE.W A,R3 147 MOVE.A @D1,C 134 MOVE.A C,D0 169 ADD.A 10,D0 146 MOVE.A @D0,C 136 SWAP.A C,D0 1527 MOVE.W @D0,A 134 MOVE.A C,D0 1507 MOVE.W A,@D0 113 MOVE.W R3,A 132 SWAP.A A,D0 142 MOVE.A @D0,A 164 ADD.A 5,D0 808C JUMP.A @A For those individuals still using the 28S, here are two programs which will provide a faster means of entering the above PEEK routine. ->SYS << "" + LIST-> 2 SWAP START #3B82h SYSEVAL NEXT #71BDh SYSEVAL #3E9D7h SYSEVAL >> ->SYS expects a list containing binary integers in level 1; which in this case would be: { #3012310003502C96h #1631641961431741h #2313117051431725h #C808461241h } ->SYS will append the binary integers and return the code in executable form to the stack. However, this is not the complete program in which Alonzo intended the code to be used. To do this I have written a program which allows stack objects to be PUT into user written programs as if they were lists. That is to say, the program works exactly like the PUT command in the list menu, but only on programs. POKE << IF 3 DUPN DROP TYPE { } + SWAP TYPE + { 0 8 } == THEN #7F77h SYSEVAL #3F41h SYSEVAL #3EEBh SYSEVAL END >> Now set up the stack in the following manner: 3: << 64 STWS #0h OR A >> 2: 6 1: System Object (the System Object in level 1 is the executable machine code object created by ->SYS) The result of using POKE on the above stack arrangement will be Alonzo's peek routine, PIG; and should look like this: PIG << 64 STWS #0h OR System Object >> It should be noted that these routines will only work in the 28S. rick grevelle