summaryrefslogtreecommitdiff
path: root/v4.0/src/SELECT/SELSERV.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/SELECT/SELSERV.ASM')
-rw-r--r--v4.0/src/SELECT/SELSERV.ASM108
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
3PAGE 55,132 ;AN000;
4NAME SELSERV ;AN000;
5TITLE SELSERV - SELECT Services ;AN000;
6SUBTTL 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
19SELECT SEGMENT PARA PUBLIC 'SELECT' ;AN000;segment for far routine
20 ASSUME CS:SELECT ;AN000;
21 ;
22 EXTRN WR_SCBID:WORD ;AN000;
23 ;
24SCROLL_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
53SCROLL_ADJUST_LEN EQU ($-SCROLL_ADJUST);AN000;
54ADJUST_ON EQU 1 ;AN000;
55ADJUST_OFF EQU 0 ;AN000;
56 ;
57 PUBLIC ADJUST_UP,ADJUST_DOWN ;AN000;
58 ;
59ADJUST_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;
71AC_1: POP CX ;AN000;
72 POP BX ;AN000;
73 RET ;AN000;
74ADJUST_UP ENDP ;AN000;
75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
76;
77; ADJUST_INDEX
78;
79; AX = index on entry
80;
81; AX = adjusted index
82;
83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
84ADJUST_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;
96AI_1: POP CX ;AN000;
97 POP BX ;AN000;
98 RET ;AN000;
99ADJUST_DOWN ENDP ;AN000;
100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
101;
102;
103;
104;
105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
106SELECT ENDS ;AN000;
107 END ;AN000;
108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;