Apple II User Manual

Page of 257
0542   E261             ;***** G COMMAND-RESTART PROCESSOR *****
0543   E261 20 37 E8    GO     JSR PSL1        ;"/"
0544   E264 20 85 E7           JSR GCNT        ;GET COUNT
0545   E267 20 F0 E9           JSR CRLF
0546   E26A 4C 86 E2           JMP GOBK1       ;RESUME EXECUTION
0547   E26D AD 0E A4    GOBK   LDA REGF        ;DISPLAY REGISTERS ?
0548   E270 F0 06              BEQ GOBK0       ;NO,BRANCH
0549   E272 20 32 E2           JSR REG1        ;SHOW THE SIX REG
0550   E275 20 24 EA           JSR CRCK        ;<CR>
0551   E278 20 07 E9    GOBK0  JSR RCHEK       ;SEE IF HE WANTS TO INTERRUPT
0552   E27B AD 0F A4           LDA DISFLG      ;DISASSEMBLE CURRENT INSTR ?
0553   E27E F0 06              BEQ GOBK1       ;NO,BRANCH
0554   E280 20 6C F4           JSR DISASM      ;DISASM THIS INSTRUCTION
0555   E283 20 13 EA           JSR CRLOW
0556   E286 AE 24 A4    GOBK1  LDX SAVS        ;RESTORE SAVED REGS FOR RTI
0557   E289 9A                 TXS
0558   E28A AC 23 A4           LDY SAVY
0559   E28D AE 22 A4           LDX SAVX
0560   E290 AD 26 A4           LDA SAVPC+1
0561   E293 48                 PHA             ;PUT PC ON STACK
0562   E294 AD 25 A4           LDA SAVPC
0563   E297 48                 PHA
0564   E298 AD 20 A4           LDA SAVPS       ;STATUS ALSO
0565   E29B 48                 PHA
0566   E29C AD 21 A4           LDA SAVA
0567   E29F 40                 RTI             ;AND AWAY WE GO...
0568   E2A0
0569   E2A0             ;***** / COMMAND-ALTER MEMORY *****
0570   E2A0 20 3E E8    CHNGG  JSR BLANK
0571   E2A3 20 DB E2           JSR WRITAZ      ;WRITE ADDR
0572   E2A6 20 3E E8    CHNG1  JSR BLANK
0573   E2A9 20 5D EA           JSR RD2         ;GET VALUE
0574   E2AC 90 0A              BCC CH2         ;ISN'T SKIP OR DONE
0575   E2AE C9 20              CMP #' '
0576   E2B0 D0 13              BNE CH3         ;NOT BLANK SO MUST BE DONE
0577   E2B2             ;SKIP THIS LOCATION
0578   E2B2 20 3E E8           JSR BLANK
0579   E2B5 4C C0 E2           JMP CH4
0580   E2B8             ;IS ALTER
0581   E2B8 20 78 EB    CH2    JSR SADDR       ;STORE ENTERED VALUE INTO MEMORY
0582   E2BB F0 03              BEQ CH4         ;NO ERROR IN STORE
0583   E2BD 4C 33 EB           JMP MEMERR      ;MEMORY WRITE ERROR
0584   E2C0 C8          CH4    INY
0585   E2C1 C0 04              CPY #4
0586   E2C3 D0 E1              BNE CHNG1       ;GO AGAIN
0587   E2C5             ;HAVE DONE LINE OR HAVE <CR>
0588   E2C5 20 CD E2    CH3    JSR NXTADD      ;UPDATE THE ADDRESS
0589   E2C8 A9 0D              LDA #CR         ;CLEAR DISPL
0590   E2CA 4C E9 FE           JMP PATC10      ;ONLY ONE <CR> & BACK TO MONITOR
0591   E2CD
0592   E2CD 98          NXTADD TYA             ;ADD Y TO ADDR+1,ADDR
0593   E2CE 18                 CLC
0594   E2CF 6D 1C A4           ADC ADDR
0595   E2D2 8D 1C A4           STA ADDR
0596   E2D5 90 03              BCC NXTA1
0597   E2D7 EE 1D A4           INC ADDR+1
0598   E2DA 60          NXTA1  RTS
0599   E2DB
0600   E2DB             ;WRITE CURRENT VALUE OF ADDR
0601   E2DB             ;PART OF / & SPACE COMM
0602   E2DB A0 00       WRITAZ LDY #0
0603   E2DD B9 1D A4    WRITAD LDA ADDR+1,Y