00001 *************************
00002 *
00003 * SRANGE.ASM
00004 * MDJ 01-26-91
00005 *
00006 * SELECTS PAGE RANGE
00007 *
00008 *************************
00009 *
00010 MAXPP   EQU     $3104
00011 CPRMT1  EQU     $571D
00012 CPRMT2  EQU     $5747
00013 TYPF    EQU     $4F02
00014 PNVS    EQU     $6124
00015 PNVE    EQU     $6126
00016 CKPGNV  EQU     $5899
00017 GETNUM  EQU     $5A89
00018 DOTF    EQU     $4F46
00019 PRANGE  EQU     $60E4
00020 XCURS   EQU     $F3
00021 YCURS   EQU     $F5
00022 XCURSH  EQU     $56C3
00023 YCURSH  EQU     $56D0
00024 MSGN1F  EQU     $5B2F
00025 MSG1F   EQU     $5B31
00026 MSGN1D  EQU     $598F
00027 MSG1D   EQU     $5991
00028         ORG     $614E
00029 SRANGE  PSHS    X
00030         JSR     CPRMT1  GO CLEAR PROMPTS
00031         JSR     CPRMT2
00032         LDX     XCURS   SAVE X-LOCATION
00033         STX     XCURSH
00034         LDX     YCURS   SAVE Y-LOCATION
00035         STX     YCURSH
00036         CLR     XCURS   SET X-LOCATION
00037         CLR     XCURS+1
00038         LDX     #176    SET Y-LOCATION
00039         STX     YCURS
00040         LDX     #RMSG1  MESSAGE ADDRESS
00041         PSHU    X
00042         LDX     RMSGN1  CHARACTER COUNT
00043         PSHU    X
00044         JSR     TYPF    GO TYPE MESSAGE TO SCREEN
00045         JSR     GETNUM  GO GET PAGE NUMBER
00046         PULU    X       GET FLAG FROM U-STACK
00047         CMPX    #0      IS IT FALSE
00048         BEQ     SR2     GO IF YES
00049         CMPX    #$FFFF  IS IT 16-BIT?
00050         BEQ     SR1     GO IF YES
00051         PULU    X       DROP 32-BIT HIGH BYTES
00052 SR1     JSR     CKPGNV  GO CHECK IF VALID PAGE NUMBER
00053         PULU    X       GET FLAG FROM U-STACK
00054         CMPX    #0      IS IT FALSE
00055         BEQ     SR3     GO IF YES
00056         PULU    X       GET PAGE NUMBER FROM U-STACK
00057         STX     PNVS    STARTING PAGE NUMBER
00058         LDX     #128    RESET X-LOCATION
 
 
 
 
 
 
 
 
00059         STX     XCURS
00060         LDX     #176    RESET Y-LOCATION
00061         STX     YCURS
00062         LDX     #RMSG2  MESSAGE ADDRESS
00063         PSHU    X
00064         LDX     RMSGN2  CHARACTER COUNT
00065         PSHU    X
00066         JSR     TYPF    GO TYPE MESSAGE TO SCREEN
00067         JSR     GETNUM  GO GET PAGE NUMBER
00068         PULU    X       GET FLAG FROM U-STACK
00069         CMPX    #0      IS IT FALSE?
00070         BEQ     SR2     GO IF YES
00071         CMPX    #$FFFF  IS IT 16-BIT?
00072         BEQ     SRA     GO IF YES
00073         PULU    X       DROP 32-BIT HIGH BYTES
00074 SRA     JSR     CKPGNV  GO CHECK IF VALID PAGE NUMBER
00075         PULU    X       GET FLAG FROM U-STACK
00076         CMPX    #0      IS IT FALSE
00077         BEQ     SR3     GO IF YES
00078         PULU    X       GET PAGE NUMBER FROM U-STACK
00079         CMPX    PNVS    >= STARTING PAGE NUMBER?
00080         BLO     SR4     GO IF NO
00081         STX     PNVE    ENDING PAGE NUMBER
00082         JSR     PRANGE  GO PRINT RANGE
00083         BRA     SRX     EXIT
00084 SR2     JSR     CPRMT1  GO CLEAR PROMPTS
00085         JSR     CPRMT2
00086         CLR     XCURS   RESET X-LOCATION
00087         CLR     XCURS+1
00088         LDX     #184    RESET Y-LOCATION
00089         STX     YCURS
00090         LDX     #MSG1F  MESSAGE ADDRESS
00091         PSHU    X
00092         LDX     MSGN1F  CHARACTER COUNT
00093         PSHU    X
00094         JSR     TYPF    GO TYPE MESSAGE TO SCREEN
00095         BRA     SRX     EXIT
00096 SR3     JSR     CPRMT1  GO CLEAR PROMPTS
00097         JSR     CPRMT2
00098         CLR     XCURS   RESET X-LOCATION
00099         CLR     XCURS+1
00100         LDX     #184    RESET Y-LOCATION
00101         STX     YCURS
00102         LDX     #MSG1D  MESSAGE ADDRESS
00103         PSHU    X
00104         LDX     #MSGN1D CHARACTER COUNT
00105         PSHU    X
00106         JSR     TYPF    GO TYPE MESSAGE TO SCREEN
00107         LDX     MAXPP   MAXIMUM PAGE NUMBER (MPN)
00108         PSHU    X
00109         JSR     DOTF    GO TYPE MPN TO SCREEN
00110         BRA     SRX     EXIT
00111 SR4     JSR     CPRMT1  GO CLEAR PROMPTS
00112         JSR     CPRMT2
00113         CLR     XCURS   RESET X-LOCATION
00114         CLR     XCURS+1
00115         LDX     #184    RESET Y-LOCATION
00116         STX     YCURS
 
 
 
 
 
 
 
 
00117         LDX     #RMSG3  MESSAGE ADDRESS
00118         PSHU    X
00119         LDX     RMSGN3  CHARACTER COUNT
00120         PSHU    X
00121         JSR     TYPF    GO TYPE MESSAGE TO SCREEN
00122 SRX     LDX     XCURSH  RESTORE X-LOCATION
00123         STX     XCURS
00124         LDX     YCURSH  RESTORE Y-LOCATION
00125         STX     YCURS
00126         PULS    X
00127         RTS
00128 RMSGN1  FDB     11
00129 RMSG1   FCC     'From Page? '
00130 RMSGN2  FDB     9
00131 RMSG2   FCC     'To Page? '
00132 RMSGN3  FDB     32
00133 RMSG3   FCC     '"TO" must be greater than "FROM"'
00134 ZEND    NOP
00135         END
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
