Apple II User Manual

Page of 257
0055   A659             PCLR   .BLOCK 1        ;PROG CTR
0056   A65A             PCHR   .BLOCK 1
0057   A65B             SR     .BLOCK 1        ;STACK
0058   A65C             FR     .BLOCK 1        ;FLAGS
0059   A65D             AR     .BLOCK 1        ;AREG
0060   A65E             XR     .BLOCK 1        ;XREG
0061   A65F             YR     .BLOCK 1        ;YREG
0062   A660             ;
0063   A660             ; I/O VECTORS FOLLOW
0064   A660             ;
0065   A660             INVEC  .BLOCK 3        ;IN CHAR
0066   A663             OUTVEC .BLOCK 3        ;OUT CHAR
0067   A666             INSVEC .BLOCK 3        ;IN STATUS
0068   A669             URSVEC .BLOCK 3        ;UNRECOGNIZED SYNTAX VECTOR
0069   A66C             URCVEC .BLOCK 3        ;UNRECOGNIZED CMD/ERROR VECTOR
0070   A66F             SCNVEC .BLOCK 3        ;SCAN ON-BOARD DISPLAY
0071   A672             ;
0072   A672             ; TRACE, INTERRUPT VECTORS
0073   A672             ;
0074   A672             EXEVEC .BLOCK 2        ; EXEC CMD ALTERNATE INVEC
0075   A674             TRCVEC .BLOCK 2        ;TRACE
0076   A676             UBRKVC .BLOCK 2        ;USER BRK AFTER MONITOR
0077   A678             UBRKV  =UBRKVC
0078   A678             UIRQVC .BLOCK 2        ;USER NON-BRK IRQ AFTER MONITOR
0079   A67A             UIRQV  =UIRQVC
0080   A67A             NMIVEC .BLOCK 2        ;NMI
0081   A67C             RSTVEC .BLOCK 2        ;RESET
0082   A67E             IRQVEC .BLOCK 2        ;IRQ
0083   A680             ;
0084   A680             ;
0085   A680             ;I/O REG DEFINITIONS
0086   A680             PADA   =$A400          ;KEYBOARD/DISPLAY
0087   A680             PBDA   =$A402          ;SERIAL I/O
0088   A680             OR3A   =$AC01          ;WP, DBON, DBOFF
0089   A680             DDR3A  =OR3A+2         ;DATA DIRECTION FOR SAME
0090   A680             OR1B   =$A000
0091   A680             DDR1B  =$A002
0092   A680             PCR1   =$A00C          ; POR/TAPE REMOTE
0093   A680             ;
0094   A680             ; MONITOR MAINLINE
0095   A680             ;
0096   8000                    *=$8000
0097   8000 4C 7C 8B    MONITR JMP MONENT      ;INIT S, CLD, GET ACCESS
0098   8003 20 FF 80    WARM   JSR GETCOM      ;GET COMMAND + PARMS (0-3)
0099   8006 20 4A 81           JSR DISPAT      ;DISPATCH CMD,PARMS TO EXEC BLKS
0100   8009 20 71 81           JSR ERMSG       ;DISP ER MSG IF CARRY SET
0101   800C 4C 03 80           JMP WARM        ;AND CONTINUE
0102   800F             ;
0103   800F             ; TRACE AND INTERRUPT ROUTINES
0104   800F             ;
0105   800F 08          IRQBRK PHP             ;IRQ OR BRK ?
0106   8010 48                 PHA
0107   8011 8A                 TXA
0108   8012 48                 PHA
0109   8013 BA                 TSX
0110   8014 BD 04 01           LDA $0104,X     ;PICK UP FLAGS
0111   8017 29 10              AND #$10
0112   8019 F0 07              BEQ DETIRQ
0113   801B 68                 PLA             ;BRK
0114   801C AA                 TAX
0115   801D 68                 PLA
0116   801E 28                 PLP