]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/SELECT/SELSERV.ASM

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / SELECT / SELSERV.ASM
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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;