mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-26 09:54:20 +00:00
191 lines
8.4 KiB
Plaintext
191 lines
8.4 KiB
Plaintext
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
|
||
|