attach shipdisk to the build
This commit is contained in:
parent
47af93dcbc
commit
23e408f6bd
|
|
@ -0,0 +1,170 @@
|
|||
!******************************************************************************
|
||||
*******************************************************************************
|
||||
|
||||
W E G A - Quelle (C) ZFT/KEAW Abt. Basissoftware - 1985
|
||||
|
||||
Standalone Modul sa.function.s
|
||||
|
||||
|
||||
Bearbeiter: P. Hoge
|
||||
Datum: 04/01/87 11:20:56
|
||||
Version: 1.1
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Dieser Modul gestattet die Benutzung der Boot Systemfunktionen
|
||||
von einem User Programm aus. Dieser Modul wird zusammen mit
|
||||
dem Modul misc.c zur libb.a
|
||||
|
||||
*******************************************************************************
|
||||
******************************************************************************!
|
||||
|
||||
|
||||
sa_function_s module
|
||||
|
||||
$nonsegmented
|
||||
|
||||
|
||||
external
|
||||
|
||||
_printfv procedure
|
||||
|
||||
global
|
||||
|
||||
_printf procedure
|
||||
entry
|
||||
ex r2, @r15
|
||||
push @r15, r3
|
||||
push @r15, r4
|
||||
push @r15, r5
|
||||
push @r15, r6
|
||||
ld r6, r15
|
||||
push @r15, r2
|
||||
call _printfv
|
||||
ld r2, @r15
|
||||
inc r15, #12
|
||||
jp @r2
|
||||
end _printf
|
||||
|
||||
_exit procedure
|
||||
entry
|
||||
ldb rl1, #0
|
||||
jr system
|
||||
end _exit
|
||||
|
||||
_read procedure !read nach Segment 0!
|
||||
entry
|
||||
ldb rl1, #1
|
||||
jr system
|
||||
end _read
|
||||
|
||||
_write procedure !von Segment 0!
|
||||
entry
|
||||
ldb rl1, #2
|
||||
jr system
|
||||
end _write
|
||||
|
||||
_open procedure
|
||||
entry
|
||||
ldb rl1, #3
|
||||
jr system
|
||||
end _open
|
||||
|
||||
_close procedure
|
||||
entry
|
||||
ldb rl1, #4
|
||||
jr system
|
||||
end _close
|
||||
|
||||
_lseek procedure
|
||||
entry
|
||||
ldb rl1, #5
|
||||
jr system
|
||||
end _lseek
|
||||
|
||||
_loadit procedure
|
||||
entry
|
||||
ldb rl1, #6
|
||||
jr system
|
||||
end _loadit
|
||||
|
||||
_getchar procedure
|
||||
entry
|
||||
ldb rl1, #7
|
||||
jr system
|
||||
end _getchar
|
||||
|
||||
_putchar procedure
|
||||
entry
|
||||
ldb rl1, #8
|
||||
jr system
|
||||
end _putchar
|
||||
|
||||
_getc procedure
|
||||
entry
|
||||
ldb rl1, #9
|
||||
jr system
|
||||
end _getc
|
||||
|
||||
_getw procedure
|
||||
entry
|
||||
ldb rl1, #10
|
||||
end _getw
|
||||
|
||||
internal
|
||||
|
||||
system procedure
|
||||
entry
|
||||
ld r0, #%C000
|
||||
ldctl FCW, r0
|
||||
!$segmented!
|
||||
wval %5F00 !call <3F>%8002!
|
||||
wval %BF00
|
||||
wval %8002
|
||||
ld r0, #%5800
|
||||
ldctl FCW, r0
|
||||
!nonsegmented!
|
||||
ret
|
||||
end system
|
||||
|
||||
|
||||
!*--------------------------------------------------------*!
|
||||
!*
|
||||
* Realisierung von in und out Befehlen fuer C
|
||||
*!
|
||||
!*--------------------------------------------------------*!
|
||||
|
||||
global
|
||||
|
||||
_otirb !@r7, @r6, r5! procedure
|
||||
entry
|
||||
otirb @r7, @r6, r5
|
||||
ret
|
||||
end _otirb
|
||||
|
||||
_outb !@r7, rl6! procedure
|
||||
entry
|
||||
outb @r7, rl6
|
||||
ret
|
||||
end _outb
|
||||
|
||||
_inb !rl2, @r7! procedure
|
||||
entry
|
||||
inb rl2, @r7
|
||||
xorb rh2, rh2
|
||||
ret
|
||||
end _inb
|
||||
|
||||
_out !@r7, r6! procedure
|
||||
entry
|
||||
out @r7, r6
|
||||
ret
|
||||
end _out
|
||||
|
||||
_in !r2, @r7! procedure
|
||||
entry
|
||||
in r2, @r7
|
||||
ret
|
||||
end _in
|
||||
|
||||
end sa_function_s
|
||||
Loading…
Reference in New Issue