[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The enhanced Apple//e's Assembler/Disassembler.
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