bazyar@ernie (Jawaid Bazyar) (01/17/91)
In article <11204@ucrmath.ucr.edu> rhyde@koufax.ucr.edu (randy hyde) writes: >>> On the II gs BRK has an operand. The above poster is quite correct. >This is an artifact of the disassembler. The "operand" for the >break instruction goes all the way back to the 6502. The original >chip had a bug which pushed the return address of the *next* instruction >(rather than next instruction minus one). BRK handlers on the older >chips always compensated for this. The GS' disassembler simply treated >BRK as a single byte instruction. If you look at all manufacturer's >literature, BRK is always listed as a single byte instruction. It was >Apple who decided it should be a two-byte instruction. COP, OTOH, is >listed in WDC's literature as a two-byte instruction. That's really strange, since I'm sitting here staring the WDC literature in the face, and it plainly states that in native mode a signature byte is fetched for both COP AND BRK. In emulation mode, only a single byte is fetched for BRK (the opcode). -- Jawaid Bazyar | Girl don't stop the screamin', Senior/Computer Engineering | you're sounding so sincere bazyar@cs.uiuc.edu | There's so much beauty Apple II Forever! | in the tracks of your tears (BOC)
rhyde@feller.ucr.edu (randy hyde) (01/24/91)
BRK and COP have signature bytes. You're right, the latest WDC literature explains the bug in the BRK in this fashion. Originally, though, BRK was a one byte instruction with a bug in the microcode which pushed the return address. *** Randy Hyde