[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The enhanced Apple//e's Assembler/Disassembler.
Since the //c has the same roms and cpu as the //e-enhanced, the Monitor
and Mini Assembler works the same way in both machines.
Doug Browning
dougbrow@freenet.mb.ca
(formerly: vgt507@freenet.mb.ca)
http://www.winnipeg.freenet.mb.ca/~dougbrow
On 31 Mar 1998, Dave Althoff wrote:
> Klil N. (spamfree@poboxes.com) wrote:
> : Hello,
> : I stumbled into some kind of Asm/Dasm utility with a '*'
> : prompt.
> : I found that 'I' creates inverted text while 'N' turns it
> : back to normal. Could anyone please tell me of it's
> : commands?
> : Thank you kindly in advance,
> : Klil N.
>
> Actually, that part is on ALL Apple ]['s, though there are subtle variations.
>
> I: Set text mode to INVERSE
> N: Set text mode to NORMAL
> n^P: Jump to $Cn00, where 0<=n<=7, effectively booting the device in that
> slot
> ^B: Enter the current BASIC (Applesoft or Integer) (current program lost)
> ^C: Enter the current BASIC (Applesoft or Integer) (current program retained)
> ^Y: Jump to the Monitor's user vector (I forget the address...)
>
> addrL: Disassemble a page of assembly beginning at addr
> addr1.addr2: Display (hex dump) the contents of all memory locations from
> addr1 to addr2.
> addr: Display the contents of memory location addr
> addrG: Jump to addr and start executing the code there
> addr:value: Put hex value into memory location addr. If more than one
> byte is given, subsequent bytes will be written into
> successive memory locations. So
> *300:4C D0 03
> is the equivalent of
> *300:4C
> *301:D0
> *302:03
>
> There are more, for instance, commands for displaying the contents of the
> registers. You are looking at the Monitor, and you can get there from
> BASIC without crashing with a
> ]CALL -151
>
> And you can return to BASIC with a
> *3D0G
>
> If you entered the Monitor from Integer BASIC, i.e....
> >CALL -151
>
> then you have a couple of other features available, most notably...
>
> *F666G
> which will take you to the Mini Assembler!
> In the Mini Assembler, you can enter a line of 6502 mnemonic code and it
> will automagically be converted to object code. Sorry, no labels. Use
> the address for the first line, a leading space for subsequent lines. So
> you type...
>
> !300:LDA #$87
> ! JSR $FDED
> ! RTS
>
> and what will appear on the screen is...
> 0300- A9 87 LDA #$87
> 0302- 20 ED FD JSR $FDED
> 0305- 60 RTS
> !
> You can issue Monitor commands to the Mini Assembler by prefixing the
> command with a "$". Return to the Monitor by jumping to its entry point...
>
> !$FF69G
> *
>
> Note that the Mini-Assembler does not exist in the Applesoft BASIC version
> of the Monitor...you MUST enter the Monitor from Integer BASIC to use the
> Mini Assembler.
>
> EXCEPTION--Integer BASIC not required--
> The Mini-Assembler is back in the *enhanced* //e and in the IIgs (not sure
> about the //c). From the Monitor prompt, just type the Mini-Assembler
> prompt--
>
> *!
> !
>
> Pressing RETURN on a blank line will take you back to the Monitor.
>
> In the Apple ][ (NOT the ][+ or later), in addition to the "G" command,
> you could also use the "S"tep and "T"race commands for
> instruction-by-instruction debugging...the Monitor would show you the
> registers after each instruction. As I have //e's and a IIgs, I've never
> used STEP and TRACE.
>
> There you have it...an introduction to the Monitor and Mini-Assembler.
>
> --Dave Althoff, ][.
> --
> /^\ _ _ *** Closed for the season ***
> /XXX\ /X\ /X\_ _ /X\__ _ _ _____
> /XXXXX\ /XXX\ _/XXXX\_ /X\ /XXXXX\ /X\ /X\ /XXXXX
> _/XXXXXXX\__/XXXXX\/XXXXXXXX\_/XXX\_/XXXXXXX\__/XXX\_/XXX\_/\_/XXXXXX
>
>