diff options
Diffstat (limited to 'v4.0/src/SELECT/SELSERV.ASM')
| -rw-r--r-- | v4.0/src/SELECT/SELSERV.ASM | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/v4.0/src/SELECT/SELSERV.ASM b/v4.0/src/SELECT/SELSERV.ASM new file mode 100644 index 0000000..db547ba --- /dev/null +++ b/v4.0/src/SELECT/SELSERV.ASM | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | |||
| 2 | |||
| 3 | PAGE 55,132 ;AN000; | ||
| 4 | NAME SELSERV ;AN000; | ||
| 5 | TITLE SELSERV - SELECT Services ;AN000; | ||
| 6 | SUBTTL selserv.asm ;AN000; | ||
| 7 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 8 | ; | ||
| 9 | ; ADJUST_CURELE | ||
| 10 | ; | ||
| 11 | ; | ||
| 12 | ; Entry: | ||
| 13 | ; AX = index on entry | ||
| 14 | ; | ||
| 15 | ; Exit: | ||
| 16 | ; AX = adjusted index | ||
| 17 | ; | ||
| 18 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 19 | SELECT SEGMENT PARA PUBLIC 'SELECT' ;AN000;segment for far routine | ||
| 20 | ASSUME CS:SELECT ;AN000; | ||
| 21 | ; | ||
| 22 | EXTRN WR_SCBID:WORD ;AN000; | ||
| 23 | ; | ||
| 24 | SCROLL_ADJUST LABEL BYTE ;AN000; | ||
| 25 | DB 1 ;AN000;SCR_DOS_SUPPORT | ||
| 26 | DB 1 ;AN000;SCR_CTY_KYB | ||
| 27 | DB 0 ;AN000;SCR_CTY_1 | ||
| 28 | DB 0 ;AN000;SCR_CTY_2 | ||
| 29 | DB 0 ;AN000;SCR_KYB_1 | ||
| 30 | DB 0 ;AN000;SCR_KYB_2 | ||
| 31 | DB 1 ;AN000;SCR_FR_KYB | ||
| 32 | DB 1 ;AN000;SCR_IT_KYB | ||
| 33 | DB 1 ;AN000;SCR_UK_KYB | ||
| 34 | DB 1 ;AN000;SCR_DEST_DRIVE | ||
| 35 | DB 0 ;AN000;SCR_PRT_TYPE | ||
| 36 | DB 1 ;AN000;SCR_PARALLEL | ||
| 37 | DB 0 ;AN000;SCR_SERIAL | ||
| 38 | DB 0 ;AN000;SCR_PRT_REDIR | ||
| 39 | DB 1 ;AN000;SCR_REVIEW | ||
| 40 | DB 0 ;AN000;SCR_FUNC_DISK | ||
| 41 | DB 0 ;AN000;SCR_FUNC_DISKET | ||
| 42 | DB 1 ;AN000;SCR_FIXED_FIRST | ||
| 43 | DB 1 ;AN000;SCR_FIXED_BOTH | ||
| 44 | DB 1 ;AN000;SCR_FORMAT | ||
| 45 | DB 0 ;AC000;SCR_CONTEXT_HLP / SCR_INDEX_HLP JW | ||
| 46 | DB 0 ;AN000;SCR_TITLE_HLP | ||
| 47 | DB 0 ;AN000;SCR_ACC_CTY JW | ||
| 48 | DB 0 ;AN000;SCR_ACC_KYB JW | ||
| 49 | DB 0 ;AN000;SCR_ACC_PRT JW | ||
| 50 | DB 1 ;AC035;SCR_COPY_DEST SEH | ||
| 51 | DB 0 ;AN035;SCR_DEST_A_C; SEH | ||
| 52 | DB 1 ;mrw ;scr_choose_shell | ||
| 53 | SCROLL_ADJUST_LEN EQU ($-SCROLL_ADJUST);AN000; | ||
| 54 | ADJUST_ON EQU 1 ;AN000; | ||
| 55 | ADJUST_OFF EQU 0 ;AN000; | ||
| 56 | ; | ||
| 57 | PUBLIC ADJUST_UP,ADJUST_DOWN ;AN000; | ||
| 58 | ; | ||
| 59 | ADJUST_UP PROC ;AN000; | ||
| 60 | PUSH BX ;AN000; | ||
| 61 | PUSH CX ;AN000; | ||
| 62 | OR AX,AX ;AN000; | ||
| 63 | JZ AC_1 ;AN000; | ||
| 64 | ; | ||
| 65 | MOV CL,ADJUST_ON ;AN000; | ||
| 66 | CMP CS:[BX-1]+SCROLL_ADJUST,CL;AN000; | ||
| 67 | JNE AC_1 ;AN000; | ||
| 68 | ; | ||
| 69 | SHL AX,1 ;AN000; | ||
| 70 | DEC AX ;AN000; | ||
| 71 | AC_1: POP CX ;AN000; | ||
| 72 | POP BX ;AN000; | ||
| 73 | RET ;AN000; | ||
| 74 | ADJUST_UP ENDP ;AN000; | ||
| 75 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 76 | ; | ||
| 77 | ; ADJUST_INDEX | ||
| 78 | ; | ||
| 79 | ; AX = index on entry | ||
| 80 | ; | ||
| 81 | ; AX = adjusted index | ||
| 82 | ; | ||
| 83 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 84 | ADJUST_DOWN PROC ;AN000; | ||
| 85 | PUSH BX ;AN000; | ||
| 86 | PUSH CX ;AN000; | ||
| 87 | OR AX,AX ;AN000; | ||
| 88 | JZ AI_1 ;AN000; | ||
| 89 | ; | ||
| 90 | MOV CL,ADJUST_ON ;AN000; | ||
| 91 | CMP CS:[BX-1]+SCROLL_ADJUST,CL;AN000; | ||
| 92 | JNE AC_1 ;AN000; | ||
| 93 | ; | ||
| 94 | SHR AX,1 ;AN000; | ||
| 95 | INC AX ;AN000; | ||
| 96 | AI_1: POP CX ;AN000; | ||
| 97 | POP BX ;AN000; | ||
| 98 | RET ;AN000; | ||
| 99 | ADJUST_DOWN ENDP ;AN000; | ||
| 100 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 101 | ; | ||
| 102 | ; | ||
| 103 | ; | ||
| 104 | ; | ||
| 105 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 106 | SELECT ENDS ;AN000; | ||
| 107 | END ;AN000; | ||
| 108 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||