!lm10
!rm76
Leaving the S-C Assembler II

How do you get out of the assembler?  I suppose I could have made a QUIT or EXIT command, but I didn't.  If you want to go to Applesoft or Integer BASIC, type FP or INT.  You will then be instantly in the version of Basic you wanted.  However, you will still be hooked into the Assembler's output subroutine.  If you load a small program and LIST it, you will find that tapping the space bar will stop the listing and restart it, just as inside the assembler.  Notice I said a "small" program; a large program might over-write part of the assembler, causing the computer to hang up.

What you must do is type FP or INT, and then PR#0.  The PR#0 unhooks the assembler output routine, and you are free.

Now, if you are sure that you have not over-written the assembler with your Applesoft or Integer BASIC program, and you want to return to the assembler, you can do so by typing CALL 4096.  I use this for going back and forth rapidly when I am testing &-routines and the like.

What if you want to leave the assembler to go to the monitor?  First of all, remember that you can use all of the monitor commands without ever leaving the assembler, by typing a dollar sign and then the monitor command.  But if you really want out, how do you get there?  If you have an old monitor ROM (not AUTOSTART), hitting RESET will get you to the monitor.  With the Autostart ROM, you can type $FF59G or $FF69G.  The first will unhook DOS, while the second will leave DOS hooked in.  (The second is the same as the Basic command CALL-151.)  Still another way is to patch the Autostart ROM RESET vector at $3F2 (type "$3F2:69 FF 5A"), so that RESET enters the monitor.

And how do you get back to the assembler from the monitor, without disturbing or losing your source code?  Simply type "1003G" and you will be there.  If you type "1000G" you will also get to the assembler, but all your source code will be gone, just as though you had typed the "NEW" command.
