Southwest Specialty Products 6800 manual Swtbug Subroutine and Text String Description

Page 15

SP (A008)

Temporary storage location for the stack pointer. SP is used in the register

 

dump subroutines and by the breakpoint function.

PORADD (A00A)

This location contains the port address used for SWTBUG’s I/O routines.

PORECH (A00C)

This byte tells SWTBUG® ‘s input routines whether or not to echo.

XHI (A00D)

Temporary index register storage used by numerous routines.

XLOW (A00E)

Temporary index register storage used by numerous routines.

XTEMP (A010)

Temporary index register storage for input and output routines.

SWIJMP (A012)

When a SWI instruction is encountered, processor control will transfer to the

 

location stored in SWIJMP.

BKPT (AQ14)

Temporary breakpoint address storage.

BKLST (A016)

Temporary data storage for the breakpoint routine.

TW (A044)

Temporary storage location for load/punch.

TEMP (A046)

Temporary storage location for punch and load.

BYTECT (A047)

Temporary storage location for load/punch.

SWTBUG® SUBROUTINE AND TEXT STRING DESCRIPTION

IRQV (E000)

This is the entry point for regular IRQ interrupts. Processor control is given of

 

the service routine whose address is stored in IRQ.

JUMP (E005)

This is the service routine for the J command. BADDR is used to input the

 

address and a jump then occurs to the correct address.

CURSOR (E009)

Home-up and erase to end of frame characters for CT 1024.

LOAD (E00C)

Load is the ASCII loading routine. Load uses a number of other SWTBUG®

 

subroutines.

 

BADDR (E047)

BADDR is a subroutine to input a 4-digit hexadecimal number, such as 137D,

 

from the control terminal. BADDR uses the subroutines BYTE, INCH and

 

INHEX and uses temporary storage locations XHI, XLOW, CKSM, both

 

accumulators and the index register. When BADDR is called it will look for

 

four hex numbers to be entered from the terminal. If a non-hex value, such

 

as H, is entered, SWTBUG® control will resume. If all characters entered are

 

valid hex, the results will be stored in XHI, XLOW and the index register.

 

Accumulator A will contain of XLOW. If 137D is entered the results will be as

 

follows-

 

 

ACC A

7D

 

ACC B

CKSM

 

IXR

137D

 

XHI

13

 

XLOW

7D

-

CKSM and ACC B are used internally to generate a check sum for the

 

PUNCH routine.

 

BYTE (E055)

BYTE is similar to BADDR, but inputs only two hex characters from the

 

terminal to generate one 8-bit byte equivalent. BYTE uses the subroutines

14

Image 15
Contents ROM Monitor Verson Users Guide Swtpc Swtbug Swatbug Monitor ROM Swtbug Installation ResetSwtbug Operation Register Dump Function R Memory Examine and Change M addrBIT BIT no Label Condition CodeJump to USER’S Program Jaddr CT-1024 Clear Screen Command CAscii Tape Punch Command P GO to USER’S Program Function GMost Significant Byte of Upper Address END of Tape Command EMost Significant Byte of Lower Address Least Significant Byte of Lower AddressOptional Port Command O not zero Tape Loader Function LSoftware Breakpoints Baddr Byte Search F high address low address byte Disk Boot DDo not This is OK Jump to Prom Program ZVectored INPUT/OUTPUT Using NON-MASKABLE InterruptsUsing Maskable IRQ Interrupts Vectored Software InterruptsPIA Strobing Use of the Control Interface for Read/Punch-On/Off DecodingBaud Rate Loading Binary Tapes Thru Swtbug CompatibilitySpecial Notes on Using AN Acia and Program Modifications Blkjak Swtpc 6800 Black Jack ProgramCO-RES Ver .0 and 1.01 Acia Modifications Temporary Storage Locations Memory DiagnosticsGeneral Rules for Program Writing Program DescriptionSwtbug Subroutine and Text String Description LDA a ACC a ACC B Cksm IXR UnchangedOuthr E06B OuteeEND Start LDX #TEXT JSR PDATA1 JMP Contrl TextFCC /HELLO FCBGoto E1D0 Contrl E0E3Nmiv E1A7 Search E1AEPnchon E34D Clear E2CCBreak E2D9 PNCHS9 E31E