Files
Digital-Research-Source-Code/CPM OPERATING SYSTEMS/CPM 86/CONCURRENT/CCPM-86 2.0 SOURCE/vout/rhvout.lst
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

191 lines
8.4 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.

8086/8087/8088 MACRO ASSEMBLER RVOUT 18:10:17 04/22/83 PAGE 1
VAX/VMS 8086/8087/8088 MACRO ASSEMBLER V1.0 ASSEMBLY OF MODULE RVOUT
OBJECT MODULE PLACED IN RHVOUT.OBJ
NO INVOCATION LINE CONTROLS
LOC OBJ LINE SOURCE
1 ; Code and Data Interface for VOUT RSP
2 ; (for virtual console support)
3 ; March 30, 1983
4
5 name rvout
6
7 cgroup group code
8 dgroup group dats
9
10 assume cs:cgroup,ds:dgroup
11
12 public xdos,mon1,mon2,mon3,mon4,intsys
13 public rsplink,pd,udaseg,u_retseg,u_wrkseg
14 public u_insys, ncopies
15 extrn plmstart:near
16
17
---- 18 dats segment public 'DATA'
0000 19 org 0
20
0010 21 rsphdr_len equ 16
0030 22 pd_len equ 30H
0100 23 uda_len equ 100H
0060 24 insysoff equ 60H
0000 25 rsp_top equ 0
0010 26 rsp_pd equ rsp_top + rsphdr_len
0040 27 rsp_uda equ rsp_pd + pd_len
0140 28 rsp_bottom equ rsp_uda + uda_len
0000 29 org rsp_top
30 ;RSP header
0000 0000 31 rsplink dw 0 ;becomes system data page paragraph
0002 4700 32 sdatvar dw nvcns ;gensys makes a copy per virtual cons
0004 00 33 ncopies db 0
0005 0000 34 dw 0,0,0,0, 0
0007 0000
0009 0000
000B 0000
000D 0000
000F 00 35 db 0
0010 36 org rsp_pd
0010 0000 37 pd dw 0,0 ;link fields
0012 0000
0014 00 38 db 0 ;status
0015 B4 39 db 180 ;initial priority - better than TMPs and PIN
0016 0300 40 dw 3 ;flags - system and keep
0018 564F5554202020 41 db 'VOUT ' ;name
20
0020 0400 42 udaseg dw rsp_uda/10h ;uda paragraph
0022 00 43 db 0,0 ;disk,user
0023 00
8086/8087/8088 MACRO ASSEMBLER RVOUT 18:10:17 04/22/83 PAGE 2
LOC OBJ LINE SOURCE
0024 00 44 db 0,0 ;ldisk,luser
0025 00
0026 FF00 45 dw 0ffh ;puremem - re-entrant
46 ;rest of pd
47
0040 48 org rsp_uda ;start of uda
0040 0000 49 uda dw 0
0042 0000 50 dw 0 ;init DMA, must be set by program
0044 0000 51 dw 0,0,0,0, 0,0,0,0, 0,0,0,0
0046 0000
0048 0000
004A 0000
004C 0000
004E 0000
0050 0000
0052 0000
0054 0000
0056 0000
0058 0000
005A 0000
005C 0000 52 dw 0,0,0,0, 0,0,0,0, 0,0,0,0
005E 0000
0060 0000
0062 0000
0064 0000
0066 0000
0068 0000
006A 0000
006C 0000
006E 0000
0070 0000
0072 0000
0074 3A01 R 53 dw offset stk_top
0076 0000 54 dw 0,0,0,0, 0,0,0,0
0078 0000
007A 0000
007C 0000
007E 0000
0080 0000
0082 0000
0084 0000
0086 0000 55 u_wrkseg dw 0
0088 0000 56 u_retseg dw 0
57
00A0 58 org rsp_uda + insysoff
00A0 01 59 u_insys db 1
00A1 00 60 db 0 ;status save
00A2 0000 61 dw 0 ;ccb
00A4 0000 62 dw 0 ;lcb
00A6 00 63 db 0 ;delimiter for print string
64
00A7 (147 65 db 93h dup (0cch) ;fill UDA stack with INT 3s
CC
)
66
8086/8087/8088 MACRO ASSEMBLER RVOUT 18:10:17 04/22/83 PAGE 3
LOC OBJ LINE SOURCE
013A 0000 E 67 stk_top dw plmstart
013C 0000 68 dw 0,0 ;segment and flags - unknown
013E 0000
69
---- 70 dats ends
71
---- 72 code segment public 'CODE'
73
0000 434F5059524947 74 db 'COPYRIGHT (C) 1983,'
48542028432920
313938332C
0013 20444947495441 75 db ' DIGITAL RESEARCH '
4C205245534541
52434820
76
0025 77 xdos proc
0025 55 78 push bp
0026 8BEC 79 mov bp,sp
0028 8B5604 80 mov dx,[bp+4]
002B 8B4E06 81 mov cx,[bp+6]
002E CDE0 82 int 224
0030 5D 83 pop bp
0031 C20400 84 ret 4
85 xdos endp
86
0025 87 mon1 equ xdos
0025 88 mon2 equ xdos
0025 89 mon3 equ xdos
0025 90 mon4 equ xdos
91
0000 92 supervisor equ 0
0068 93 rlr equ 68h
0010 94 p_uda equ 10h
0047 95 nvcns equ 47h
96
0034 97 intsys proc ;call O.S. as if we are
0034 55 98 push bp ;already in it
0035 8BEC 99 mov bp,sp
100
0037 8B5E04 101 mov bx, [bp+4]
003A 8B5606 102 mov dx, [bp+6]
003D 8B4E08 103 mov cx, [bp+8]
104
105
0040 1E 106 push ds
0041 8E1E0000 R 107 mov ds, rsplink ;DS = Sysdat Segment
0045 8B366800 108 mov si, ds:word ptr rlr
0049 8E4410 109 mov es, [si + p_uda]
004C FF1E0000 110 call ds:dword ptr [supervisor]
0050 1F 111 pop ds
112
0051 5D 113 pop bp
0052 C20600 114 ret 6
115 intsys endp
116
8086/8087/8088 MACRO ASSEMBLER RVOUT 18:10:17 04/22/83 PAGE 4
LOC OBJ LINE SOURCE
---- 117 code ends
118 end
ASSEMBLY COMPLETE, NO ERRORS FOUND