Files
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

154 lines
7.0 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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