Run program and debugging

The GO command allows to run a program.
– Load a program via the LH load papertape command. End the load with typing ;00
– set breakpoints with the BRK ($00) instruction.
– Set the TIM to Registermode with R
– Set the current address with ‘:’ followed by the address in four hex bytes
– Type G

Inspect and alter registers with the M and R and : commands
Remove breakpoints by inserting the original instruction code

0065   0000          ;  SETTING AND RESETTING PROGRAM BREAKPOINTS
0066   0000          ;  -----------------------------------------
0067   0000          ;
0068   0000          ;      BREAKPOINTS ARE SET AND RESET USING THE MEMORY DISPLAY
0069   0000          ;          AND ALTER COMMANDS.  BRK HAS A '00' OPERATION CODE.
0070   0000          ;      TO SET A BREAKPOINT SIMPLY DISPLAY THE MEMORY LOCATION
0071   0000          ;          (FIRST INSTRUCTION BYTE) AT WHICH THE BREAKPOINT IS
0072   0000          ;          TO BE PLACED THEN ALTER THE LOCATION TO '00'.  THERE IS
0073   0000          ;          NO LIMIT TO THE NUMBER OF BREAKPOINTS THAT CAN BE
0074   0000          ;          ACTIVE AT ONE TIME.
0075   0000          ;      TO RESET A BREAKPOINT, RESTORE THE ALTERED MEMORY LOCATION
0076   0000          ;          TO ITS ORIGINAL VALUE.
0077   0000          ;      WHEN AND IF A BREAKPOINT IS ENCOUNTERED DURING EXECUTION,
0078   0000          ;          THE BREAKPOINT DATA PRECEDEC BY AN ':' IS DISPLAYED.
0079   0000          ;          THE PROGRAM COUNTER VALUE DISPLAYED IS THE BRK
0080   0000          ;          INSTRUCTION LOCATION + 1.

Example program

0001   0000             ;
0002   0000             ; TIM checkout program
0003   0000             ; TIM manual page 17
0004   0000             ;
0005   0000             ; .R  0117 3F 6C 0D FD FF
0006   0000             ; .:  0100
0007   0000             ; 
0008   0000             ; .R  0100 B0 10 0D 05 FF
                        ;.G
                        ; !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno 
0009   0000             ; pqrstuvwxyz{|}
0010   0000             ; *  0116 3F 7E 0D FD FF
0011   0000             ; .
0012   0000             
0013   0000             
0014   0000             ;
0015   0000             CRLF    =   $728A     ; CRLF 
0016   0000             WRT =   $72C6         ; write a character to console
0017   0000             ; 
0018   0000             ; zeropage
0019   0000             CHAR    =   $00       ; storage for character
0020   0000             ;
0021   0100                     .ORG    $0100 ; start at $0100
0022   0100                     ;
0023   0100 20 8A 72    CHSET   JSR     CRLF
0024   0103 A9 20               LDA #$20      ; Start with space
0025   0105 85 00               STA CHAR      ;
0026   0107             ;
0027   0107 A5 00       LOOP    LDA     CHAR  ; get character
0028   0109 C9 7E               CMP #$7E    
0029   010B F0 08               BEQ     DONE
0030   010D 20 C6 72            JSR     WRT   ; print character
0031   0110 E6 00               INC CHAR
0032   0112 4C 07 01            JMP LOOP      ; next char
0033   0115             ;
0034   0115 00          DONE    BRK
0035   0116             ;
0036   0116                     .END
0037   0116                     
0038   0116                     
            		
tasm: Number of errors = 0
.LH
;160100208A72A9208500A500C97EF00820C672E6004C07010007F7
;00
.R  CE05 35 55 DB 00 DB
.:  0100
.R  0100 35 55 DB 00 DB
.G
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno
pqrstuvwxyz{|}
 *  0116 33 7E 0D 05 FF
.