         TITLE 'BLSR3270--BLSR327F--POST-PROCESS CURSOR'                00050000
*---------------------------------------------------------------------* 00100000
*                                                                     * 00150000
*BLSR327F--POST-PROCESS CURSOR COMMANDS                               * 00200000
*                                                                     * 00250000
*---------------------------------------------------------------------* 00300000
         SPACE                                                          00350000
BLSR327F LM    R4,R5,WKACRPOS RELOAD SAVED INDICES                      00400000
         LTR   R5,R5              ON ROW ONE - A CURSOR COMMAND?        00450000
         BNZ   BLSR327G           NO, NO POST-PROCESS NEEDED            00500000
         LH    RF,YF000200(R4)    INDEX BASED ON COLUMN                 00550000
         B     BLSR327B(RF)       GO TO APPROPRIATE ROUTINE             00600000
         SPACE 2                                                        00650000
YF000200 DC    Y(BLSR327G-BLSR327B) ATTRIBUTE MESSAGE OR BLANK          00700000
         DC    Y(LA005600-BLSR327B) END                                 00750000
         DC    Y(LF000300-BLSR327B) -SCROLL                             00800000
         DC    Y(LF000400-BLSR327B) +SCROLL                             00850000
         DC    Y(LG000200-BLSR327B) STACK                               00900000
         DC    Y(LF000700-BLSR327B) -SKIP                               00950000
         DC    Y(LF000800-BLSR327B) +SKIP                               01000000
         SPACE 2                                                        01050000
*                                  ************************************ 01100000
*                                  *                                  * 01150000
*                                  *   POST-PROCESS PF1 = ROLL BACKWD * 01200000
*                                  *                                  * 01250000
*                                  ************************************ 01300000
LF000300 BAL   RE,LF000600        PERFORM COMMON CALCULATIONS FOR ROLL  01350000
*        R0    HAS NUMBER OF BYTES DISPLAYED IN CURRENT AREA            01400000
*        R1    HAS ROUNDED DOWN ADDR FROM WKAVCTA ENTRY                 01450000
*        RF HAS INDEXED WORK ARRAY ADDRESS                              01500000
         SLR   R1,R0              CALCULATE NEW START ADDR              01550000
         B     LF000500           GO STORE, SET SWITCHES                01600000
*                                 MUST WAIT FOR ANY SCREEN PARAMETER    01650000
*                                 UPDATES TO BE PROCESSED.              01700000
         SPACE 2                                                        01750000
*                                  ************************************ 01800000
*                                  *                                  * 01850000
*                                  *   POST-PROCESS PF2 = ROLL FORWARD* 01900000
*                                  *                                  * 01950000
*                                  ************************************ 02000000
LF000400 BAL   RE,LF000600        SEE COMMENTARY ABOVE, AND BELOW       02050000
         ALR   R1,R0              CALCULATE NEXT ADDRESS                02100000
LF000500 LA    R1,0(R1)           CLEAR HIGH-ORDER BYTE                 02150000
         ST    R1,ESAULAD         NEW ADDRESS INTO ENTRY LINE           02200000
         OI    FLAG1,FLAG1ADR+FLAG1RLL                                  02250000
         B     BLSR327G           GO CHECK STACK, ETC                   02300000
LF000600 IC    RF,WKAAREA         PICK UP AREA TO BE ROLLED             02350000
         N     RF,=X'00000007'    KEEP ONLY LOW 4 BITS                  02400000
         SLR   R0,R0              CLEAR FOR LATER ADDITION              02450000
         IC    R0,WKALINES-1(RF)  LINES THAT WERE DISPLAYED             02500000
         SLL   R0,5               BYTES TO MOVE                         02550000
         SLL   RF,2               WORD INDEX                            02600000
         LA    RF,WKAVCTA-4(RF)   ADDRESS NEW CURRENT ARRAY             02650000
         L     R1,WKAVCTA-WKAVCTA(RF) PICK UP OLD START ADDR            02700000
         N     R1,=X'FFFFFFE0'    ROUND DOWN TO 32-BYTE BDY             02750000
         CLI   WKAVFMT-WKAVCTA(RF),C'C' WAS IT CHARACTER?               02800000
         BNER  RE                 NO                                    02850000
         N     R1,=X'FFFFFFC0'    ROUND DOWN TO 64-BYTE BDY             02900000
         ALR   R0,R0              DOUBLE DIFFERENCE                     02950000
         BR    RE                                                       03000000
         SPACE 2                                                        03050000
*                                  ************************************ 03100000
*                                  *                                  * 03150000
*                                  *  POST-PROCESS PF10 = SKIP BACKWD * 03200000
*                                  *                                  * 03250000
*                                  ************************************ 03300000
LF000700 BAL   RE,LF000900        PICK UP ADDRESS, SKIP AMOUNT          03350000
         SLR   R1,R0              DECREMENT OLD BY SKIP AMOUNT          03400000
         BR    RF                                                       03450000
         SPACE 2                                                        03500000
*                                  ************************************ 03550000
*                                  *                                  * 03600000
*                                  * POST-PROCESS PF11 = SKIP FORWARD * 03650000
*                                  *                                  * 03700000
*                                  ************************************ 03750000
LF000800 BAL   RE,LF000900        PICK UP ADDRESS, SKIP AMOUNT          03800000
         ALR   R1,R0              INCREMENT OLD BY SKIP AMOUNT          03850000
         BR    RF                                                       03900000
LF000900 LA    RF,LF000500        WHERE TO GO WHEN DONE                 03950000
         L     R0,WKASKIP         HOW MUCH TO CHANGE ADDR BY            04000000
         L     R1,WKAADDR         ADDR TO CHANGE                        04050000
         BR    RE                                                       04100000
