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