mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 00:14:25 +00:00
40 lines
896 B
Plaintext
40 lines
896 B
Plaintext
|
||
;****************************************************************
|
||
;* *
|
||
;* DRC to GSX interface *
|
||
;* *
|
||
;****************************************************************
|
||
;
|
||
;The following code is an assembler interface to the GSX for DRC
|
||
;
|
||
CGROUP GROUP CODE
|
||
;
|
||
PUBLIC GSX
|
||
;
|
||
CSEG
|
||
;
|
||
GSX:
|
||
Mov BX,SP ;get address of arguments from C
|
||
Add BX,0AH ;point at the other end
|
||
Push SI
|
||
Push DI
|
||
Push BP
|
||
Push ES
|
||
Pushf
|
||
Mov CX,5 ;5 arguments
|
||
MAKE_LONG:
|
||
Push DS ;make them long word pointers
|
||
Push word ptr [BX] ;data also
|
||
Sub BX,2 ;point at the next
|
||
Loop MAKE_LONG
|
||
Mov DX,SP ;point at the list
|
||
Mov CX,0473H ;layer 0, GDOS 4, function 115
|
||
Int 0E0H ;ring the BDOS bell
|
||
Add SP,014H ;unstack the longwords
|
||
Popf
|
||
Pop ES
|
||
Pop BP
|
||
Pop DI
|
||
Pop SI
|
||
Ret
|
||
|