Digital Research
This commit is contained in:
2020-11-06 18:50:37 +01:00
parent 621ed8ccaf
commit 31738079c4
8481 changed files with 1888323 additions and 0 deletions

View File

@@ -0,0 +1,186 @@
MCS-86 MACRO ASSEMBLER SCD PAGE 1
ISIS-II MCS-86 MACRO ASSEMBLER V2.1 ASSEMBLY OF MODULE SCD
OBJECT MODULE PLACED IN :F0:SCD.OBJ
ASSEMBLER INVOKED BY: :F0: SCD.A86 XREF
LOC OBJ LINE SOURCE
1 ;
2 ; Concurrent CP/M-86 v2.0 with BDOS version 3.1
3 ; Interface for PLM-86 with separate code and data
4 ; Code org'd at 0
5 ; Created:
6 ; October 5, 1981 by Danny Horovitz
7 ; Revised:
8 ; 28 Mar 83 by Bill Fitler
9
10 name scd
11
12 dgroup group dats,stack
13 cgroup group code
14
15 assume cs:cgroup, ds:dgroup, ss:dgroup
16
---- 17 stack segment word stack 'STACK'
0000 18 stack_base label byte
---- 19 stack ends
20
---- 21 dats segment para public 'DATA' ;CP/M page 0 - LOC86'd at 0H
22
0004 23 org 4
0004 ?? 24 bdisk db ?
0006 25 org 6
0006 ???? 26 maxb dw ?
0050 27 org 50h
0050 ?? 28 cmdrv db ?
0051 ???? 29 pass0 dw ?
0053 ?? 30 len0 db ?
0054 ???? 31 pass1 dw ?
0056 ?? 32 len1 db ?
005C 33 org 5ch
005C (16 34 fcb db 16 dup (?)
??
)
006C (16 35 fcb16 db 16 dup (?)
??
)
007C ?? 36 cr db ?
007D ???? 37 rr dw ?
007F ?? 38 ro db ?
0080 (128 39 buff db 128 dup (?)
??
)
0080 40 tbuff equ buff
0080 41 buffa equ buff
005C 42 fcba equ fcb
43
0100 44 org 100h ;past CPM data space
MCS-86 MACRO ASSEMBLER SCD PAGE 2
LOC OBJ LINE SOURCE
0100 0000 45 saveax dw 0 ;save registers for mon functions
0102 0000 46 savebx dw 0
0104 0000 47 savecx dw 0
0106 0000 48 savedx dw 0
49 public bdisk,maxb,cmdrv,pass0,len0
50 public pass1,len1,fcb,fcb16,cr,rr
51 public ro,buff,tbuff,buffa,fcba
52 public saveax,savebx,savecx,savedx
53
---- 54 dats ends
55
56
---- 57 code segment public 'CODE'
58 public xdos,mon1,mon2,mon3,mon4
59 extrn plmstart:near
60
0000 61 org 0h ; for separate code and data
0000 EB4B90 62 jmp pastserial ; skip copyright
0003 EB7690 63 jmp patch ; store address of patch routine at start
0006 434F5059524947 64 db 'COPYRIGHT (C) 1983, DIGITAL RESEARCH '
48542028432920
313938332C2044
49474954414C20
52455345415243
4820
002B 20434F4E435552 65 db ' CONCURRENT CP/M-86 2.0, 03/31/83 ' ; db ' MP/M-86 2.0, 10/5/81 '
52454E54204350
2F4D2D38362032
2E302C2030332F
33312F383320
004D 66 pastserial:
004D 9C 67 pushf
004E 58 68 pop ax
004F FA 69 cli
0050 8CD9 70 mov cx,ds
0052 8ED1 71 mov ss,cx
0054 8D260000 R 72 lea sp,stack_base
0058 50 73 push ax
0059 9D 74 popf
005A E90000 E 75 jmp plmstart
76
005D 77 xdos proc
005D 55 78 push bp
005E 8BEC 79 mov bp,sp
0060 8B5604 80 mov dx,[bp+4]
0063 8B4E06 81 mov cx,[bp+6]
0066 CDE0 82 int 224
0068 A30001 R 83 mov saveax,ax
006B 891E0201 R 84 mov savebx,bx
006F 890E0401 R 85 mov savecx,cx
0073 89160601 R 86 mov savedx,dx
0077 5D 87 pop bp
0078 C20400 88 ret 4
89 xdos endp
90
MCS-86 MACRO ASSEMBLER SCD PAGE 3
LOC OBJ LINE SOURCE
005D 91 mon1 equ xdos ; no returned value
005D 92 mon2 equ xdos ; returns byte in AL
005D 93 mon3 equ xdos ; returns address or word BX
005D 94 mon4 equ xdos ; returns pointer in BX and ES
95
007B 96 patch:
007B 90 97 nop
007C 90 98 nop
007D 90 99 nop
007E 90 100 nop
0100 101 org 0100h ; leave room for patch area
102
---- 103 code ends
104 end
MCS-86 MACRO ASSEMBLER SCD PAGE 4
XREF SYMBOL TABLE LISTING
---- ------ ----- -------
NAME TYPE VALUE ATTRIBUTES, XREFS
??SEG . . . SEGMENT SIZE=0000H PARA PUBLIC
BDISK . . . V BYTE 0004H DATS PUBLIC 24# 49
BUFF. . . . V BYTE 0080H DATS PUBLIC 39# 40 41 51
BUFFA . . . V BYTE 0080H DATS PUBLIC 41# 51
CGROUP. . . GROUP CODE 13# 15
CMDRV . . . V BYTE 0050H DATS PUBLIC 28# 49
CODE. . . . SEGMENT SIZE=0100H PARA PUBLIC 'CODE' 13# 57 103
CR. . . . . V BYTE 007CH DATS PUBLIC 36# 50
DATS. . . . SEGMENT SIZE=0108H PARA PUBLIC 'DATA' 12# 21 54
DGROUP. . . GROUP DATS STACK 12# 15 15
FCB . . . . V BYTE 005CH DATS PUBLIC 34# 42 50
FCB16 . . . V BYTE 006CH DATS PUBLIC 35# 50
FCBA. . . . V BYTE 005CH DATS PUBLIC 42# 51
LEN0. . . . V BYTE 0053H DATS PUBLIC 30# 49
LEN1. . . . V BYTE 0056H DATS PUBLIC 32# 50
MAXB. . . . V WORD 0006H DATS PUBLIC 26# 49
MON1. . . . L NEAR 005DH CODE PUBLIC 58 91#
MON2. . . . L NEAR 005DH CODE PUBLIC 58 92#
MON3. . . . L NEAR 005DH CODE PUBLIC 58 93#
MON4. . . . L NEAR 005DH CODE PUBLIC 58 94#
PASS0 . . . V WORD 0051H DATS PUBLIC 29# 49
PASS1 . . . V WORD 0054H DATS PUBLIC 31# 50
PASTSERIAL. L NEAR 004DH CODE 62 66#
PATCH . . . L NEAR 007BH CODE 63 96#
PLMSTART. . L NEAR 0000H EXTRN 59# 75
RO. . . . . V BYTE 007FH DATS PUBLIC 38# 51
RR. . . . . V WORD 007DH DATS PUBLIC 37# 50
SAVEAX. . . V WORD 0100H DATS PUBLIC 45# 52 83
SAVEBX. . . V WORD 0102H DATS PUBLIC 46# 52 84
SAVECX. . . V WORD 0104H DATS PUBLIC 47# 52 85
SAVEDX. . . V WORD 0106H DATS PUBLIC 48# 52 86
STACK . . . SEGMENT SIZE=0000H WORD STACK 'STACK'
STACK_BASE. V BYTE 0000H STACK 18# 72
TBUFF . . . V BYTE 0080H DATS PUBLIC 40# 51
XDOS. . . . L NEAR 005DH CODE PUBLIC 58 77# 89 91 92 93 94
ASSEMBLY COMPLETE, NO ERRORS FOUND