mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-27 02:14:19 +00:00
Upload
Digital Research
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user