mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-25 17:34:06 +00:00
154 lines
7.0 KiB
Plaintext
154 lines
7.0 KiB
Plaintext
MCS-86 MACRO ASSEMBLER SCD1 PAGE 1
|
||
|
||
|
||
ISIS-II MCS-86 MACRO ASSEMBLER V2.1 ASSEMBLY OF MODULE SCD1
|
||
OBJECT MODULE PLACED IN :F0:SCD1.OBJ
|
||
ASSEMBLER INVOKED BY: :F0: SCD1.A86 XREF
|
||
|
||
|
||
LOC OBJ LINE SOURCE
|
||
|
||
1 name scd1
|
||
2 ;
|
||
3 ; CP/M 3.0 MP/M-86 2.0 (BDOS version 3.0)
|
||
4 ; Interface for PLM-86 with separate code and data
|
||
5 ; Code org'd at 0
|
||
6 ; December 18, 1981
|
||
7
|
||
8
|
||
9 dgroup group dats,stack
|
||
10 cgroup group code
|
||
11
|
||
12 assume cs:cgroup, ds:dgroup, ss:dgroup
|
||
13
|
||
---- 14 stack segment word stack 'STACK'
|
||
0000 15 stack_base label byte
|
||
---- 16 stack ends
|
||
17
|
||
---- 18 dats segment para public 'DATA' ;CP/M page 0 - LOC86'd at 0H
|
||
19
|
||
0004 20 org 4
|
||
0004 ?? 21 bdisk db ?
|
||
0006 22 org 6
|
||
0006 ???? 23 maxb dw ?
|
||
0050 24 org 50h
|
||
0050 ?? 25 cmdrv db ?
|
||
0051 ???? 26 pass0 dw ?
|
||
0053 ?? 27 len0 db ?
|
||
0054 ???? 28 pass1 dw ?
|
||
0056 ?? 29 len1 db ?
|
||
005C 30 org 5ch
|
||
005C (16 31 fcb db 16 dup (?)
|
||
??
|
||
)
|
||
006C (16 32 fcb16 db 16 dup (?)
|
||
??
|
||
)
|
||
007C ?? 33 cr db ?
|
||
007D ???? 34 rr dw ?
|
||
007F ?? 35 ro db ?
|
||
0080 (128 36 buff db 128 dup (?)
|
||
??
|
||
)
|
||
0080 37 tbuff equ buff
|
||
38
|
||
39 public bdisk,maxb,cmdrv,pass0,len0
|
||
40 public pass1,len1,fcb,fcb16,cr,rr
|
||
41 public ro,buff,tbuff
|
||
42
|
||
---- 43 dats ends
|
||
44
|
||
MCS-86 MACRO ASSEMBLER SCD1 PAGE 2
|
||
|
||
|
||
LOC OBJ LINE SOURCE
|
||
|
||
45
|
||
---- 46 code segment public 'CODE'
|
||
47 public reset,xdos,mon1,mon2,mon3,mon4
|
||
48 extrn plm:near
|
||
49
|
||
0000 50 org 0h ; for separate code and data
|
||
0000 EB2C90 51 jmp reset
|
||
0003 434F5059524947 52 db 'COPYRIGHT (c) 1983 by DIGITAL RESEARCH INC.'
|
||
48542028632920
|
||
31393833206279
|
||
20444947495441
|
||
4C205245534541
|
||
52434820494E43
|
||
2E
|
||
002E 53 reset:
|
||
002E 9C 54 pushf
|
||
002F 58 55 pop ax
|
||
0030 FA 56 cli
|
||
0031 8CD9 57 mov cx,ds
|
||
0033 8ED1 58 mov ss,cx
|
||
0035 8D260000 R 59 lea sp,stack_base
|
||
0039 50 60 push ax
|
||
003A 9D 61 popf
|
||
003B E80000 E 62 call plm
|
||
003E 33C9 63 xor cx,cx
|
||
0040 8BD1 64 mov dx,cx
|
||
0042 CDE0 65 int 224
|
||
66
|
||
67
|
||
0044 68 xdos proc
|
||
0044 55 69 push bp
|
||
0045 8BEC 70 mov bp,sp
|
||
0047 8B5604 71 mov dx,[bp+4]
|
||
004A 8B4E06 72 mov cx,[bp+6]
|
||
004D CDE0 73 int 224
|
||
004F 5D 74 pop bp
|
||
0050 C20400 75 ret 4
|
||
76 xdos endp
|
||
77
|
||
0044 78 mon1 equ xdos ; no returned value
|
||
0044 79 mon2 equ xdos ; returns byte in AL
|
||
0044 80 mon3 equ xdos ; returns address or word BX
|
||
0044 81 mon4 equ xdos ; returns pointer in BX and ES
|
||
82
|
||
007F 83 org 07fh ; reserve patch area
|
||
007F 00 84 db 0
|
||
---- 85 code ends
|
||
86 end
|
||
MCS-86 MACRO ASSEMBLER SCD1 PAGE 3
|
||
|
||
|
||
XREF SYMBOL TABLE LISTING
|
||
---- ------ ----- -------
|
||
|
||
|
||
NAME TYPE VALUE ATTRIBUTES, XREFS
|
||
|
||
??SEG . . . SEGMENT SIZE=0000H PARA PUBLIC
|
||
BDISK . . . V BYTE 0004H DATS PUBLIC 21# 39
|
||
BUFF. . . . V BYTE 0080H DATS PUBLIC 36# 37 41
|
||
CGROUP. . . GROUP CODE 10# 12
|
||
CMDRV . . . V BYTE 0050H DATS PUBLIC 25# 39
|
||
CODE. . . . SEGMENT SIZE=0080H PARA PUBLIC 'CODE' 10# 46 85
|
||
CR. . . . . V BYTE 007CH DATS PUBLIC 33# 40
|
||
DATS. . . . SEGMENT SIZE=0100H PARA PUBLIC 'DATA' 9# 18 43
|
||
DGROUP. . . GROUP DATS STACK 9# 12 12
|
||
FCB . . . . V BYTE 005CH DATS PUBLIC 31# 40
|
||
FCB16 . . . V BYTE 006CH DATS PUBLIC 32# 40
|
||
LEN0. . . . V BYTE 0053H DATS PUBLIC 27# 39
|
||
LEN1. . . . V BYTE 0056H DATS PUBLIC 29# 40
|
||
MAXB. . . . V WORD 0006H DATS PUBLIC 23# 39
|
||
MON1. . . . L NEAR 0044H CODE PUBLIC 47 78#
|
||
MON2. . . . L NEAR 0044H CODE PUBLIC 47 79#
|
||
MON3. . . . L NEAR 0044H CODE PUBLIC 47 80#
|
||
MON4. . . . L NEAR 0044H CODE PUBLIC 47 81#
|
||
PASS0 . . . V WORD 0051H DATS PUBLIC 26# 39
|
||
PASS1 . . . V WORD 0054H DATS PUBLIC 28# 40
|
||
PLM . . . . L NEAR 0000H EXTRN 48# 62
|
||
RESET . . . L NEAR 002EH CODE PUBLIC 47 51 53#
|
||
RO. . . . . V BYTE 007FH DATS PUBLIC 35# 41
|
||
RR. . . . . V WORD 007DH DATS PUBLIC 34# 40
|
||
STACK . . . SEGMENT SIZE=0000H WORD STACK 'STACK'
|
||
STACK_BASE. V BYTE 0000H STACK 15# 59
|
||
TBUFF . . . V BYTE 0080H DATS PUBLIC 37# 41
|
||
XDOS. . . . L NEAR 0044H CODE PUBLIC 47 68# 76 78 79 80 81
|
||
|
||
|
||
ASSEMBLY COMPLETE, NO ERRORS FOUND
|