mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 03:46:10 +02:00
+ added startup code for the medium memory model
git-svn-id: trunk@24820 -
This commit is contained in:
parent
5966cc088d
commit
cd5255c147
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -8262,8 +8262,9 @@ rtl/msdos/crt.pp svneol=native#text/plain
|
||||
rtl/msdos/dos.pp svneol=native#text/plain
|
||||
rtl/msdos/msmouse.pp svneol=native#text/plain
|
||||
rtl/msdos/ports.pp svneol=native#text/plain
|
||||
rtl/msdos/prt0m.asm svneol=native#text/plain
|
||||
rtl/msdos/prt0s.asm svneol=native#text/plain
|
||||
rtl/msdos/prt0st.asm svneol=native#text/plain
|
||||
rtl/msdos/prt0stm.asm svneol=native#text/plain
|
||||
rtl/msdos/prt0t.asm svneol=native#text/plain
|
||||
rtl/msdos/registers.inc svneol=native#text/plain
|
||||
rtl/msdos/sysdir.inc svneol=native#text/plain
|
||||
|
@ -556,223 +556,223 @@ ifeq ($(FULL_TARGET),i8086-msdos)
|
||||
override TARGET_UNITS+=system uuchar objpas strings dos crt heaptrc lineinfo sysconst sysutils math macpas iso7185 rtlconst typinfo varutils variants types dateutil convutil strutils stdconvs matrix ucomplex getopts fgl classes objects msmouse ports
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-haiku)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-darwin)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-symbian)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-nativent)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-iphonesim)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-android)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-wii)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-aix)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-netbsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-solaris)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-openbsd)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-darwin)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-darwin)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-nds)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-symbian)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-android)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-darwin)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-aix)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),avr-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),mips-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),mipsel-linux)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),jvm-java)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),jvm-android)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i8086-msdos)
|
||||
override TARGET_LOADERS+=prt0s prt0t # exceptn fpu
|
||||
override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
|
||||
endif
|
||||
override INSTALL_FPCPACKAGE=y
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
@ -2391,10 +2391,12 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
|
||||
include $(PROCINC)/makefile.cpu
|
||||
SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
|
||||
SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
|
||||
prt0s$(OEXT) : prt0s.asm prt0st.asm
|
||||
prt0s$(OEXT) : prt0s.asm prt0stm.asm
|
||||
nasm -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
|
||||
prt0t$(OEXT) : prt0t.asm prt0st.asm
|
||||
prt0t$(OEXT) : prt0t.asm prt0stm.asm
|
||||
nasm -f obj -o $(UNITTARGETDIRPREFIX)prt0t$(OEXT) prt0t.asm
|
||||
prt0m$(OEXT) : prt0m.asm prt0stm.asm
|
||||
nasm -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
|
||||
system$(PPUEXT) : system.pp $(SYSDEPS)
|
||||
$(COMPILER) -Us -Sg system.pp
|
||||
uuchar$(PPUEXT): $(SYSTEMUNIT)$(PPUEXT) $(INC)/uuchar.pp
|
||||
|
@ -4,7 +4,7 @@
|
||||
[package]
|
||||
main=rtl
|
||||
[target]
|
||||
loaders=prt0s prt0t # exceptn fpu
|
||||
loaders=prt0s prt0t prt0m # exceptn fpu
|
||||
units=system uuchar objpas strings dos crt heaptrc lineinfo sysconst sysutils \
|
||||
math macpas iso7185 rtlconst typinfo varutils variants types dateutil \
|
||||
convutil strutils stdconvs matrix ucomplex getopts fgl classes objects \
|
||||
@ -62,10 +62,12 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
|
||||
#
|
||||
# Loaders
|
||||
#
|
||||
prt0s$(OEXT) : prt0s.asm prt0st.asm
|
||||
prt0s$(OEXT) : prt0s.asm prt0stm.asm
|
||||
nasm -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
|
||||
prt0t$(OEXT) : prt0t.asm prt0st.asm
|
||||
prt0t$(OEXT) : prt0t.asm prt0stm.asm
|
||||
nasm -f obj -o $(UNITTARGETDIRPREFIX)prt0t$(OEXT) prt0t.asm
|
||||
prt0m$(OEXT) : prt0m.asm prt0stm.asm
|
||||
nasm -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
|
||||
#
|
||||
# System Units (System, Objpas, Strings)
|
||||
#
|
||||
|
3
rtl/msdos/prt0m.asm
Normal file
3
rtl/msdos/prt0m.asm
Normal file
@ -0,0 +1,3 @@
|
||||
; nasm -f obj -o prt0m.o prt0m.asm
|
||||
%define __MEDIUM__
|
||||
%include "prt0stm.asm"
|
@ -1,3 +1,3 @@
|
||||
; nasm -f obj -o prt0s.o prt0s.asm
|
||||
%define __SMALL__
|
||||
%include "prt0st.asm"
|
||||
%include "prt0stm.asm"
|
||||
|
@ -1,4 +1,16 @@
|
||||
; common startup code for the SMALL and TINY memory models
|
||||
; common startup code for the SMALL, TINY and MEDIUM memory models
|
||||
|
||||
%ifdef __MEDIUM__
|
||||
%define __FAR_CODE__
|
||||
%else
|
||||
%define __NEAR_CODE__
|
||||
%endif
|
||||
|
||||
%ifdef __FAR_CODE__
|
||||
extra_param_offset equ 2
|
||||
%else
|
||||
extra_param_offset equ 0
|
||||
%endif
|
||||
|
||||
cpu 8086
|
||||
|
||||
@ -112,7 +124,11 @@ skip_mem_realloc:
|
||||
dec bx
|
||||
mov word [__nearheap_end], bx
|
||||
|
||||
%ifdef __FAR_CODE__
|
||||
jmp far PASCALMAIN
|
||||
%else
|
||||
jmp PASCALMAIN
|
||||
%endif
|
||||
|
||||
not_enough_mem:
|
||||
mov dx, not_enough_mem_msg
|
||||
@ -133,17 +149,23 @@ FPC_MSDOS_CARRY:
|
||||
FPC_MSDOS:
|
||||
mov al, 21h ; not ax, because only the low byte is used
|
||||
pop dx
|
||||
%ifdef __FAR_CODE__
|
||||
pop bx
|
||||
%endif
|
||||
pop cx
|
||||
push ax
|
||||
push cx
|
||||
%ifdef __FAR_CODE__
|
||||
push bx
|
||||
%endif
|
||||
push dx
|
||||
global FPC_INTR
|
||||
FPC_INTR:
|
||||
push bp
|
||||
mov bp, sp
|
||||
mov al, byte [ss:bp + 6]
|
||||
mov al, byte [ss:bp + 6 + extra_param_offset]
|
||||
mov byte [cs:int_number], al
|
||||
mov si, [ss:bp + 4]
|
||||
mov si, [ss:bp + 4 + extra_param_offset]
|
||||
push ds
|
||||
mov ax, word [si + 16]
|
||||
mov es, ax
|
||||
@ -169,7 +191,7 @@ int_number:
|
||||
mov bp, sp
|
||||
mov si, word [ss:bp + 8]
|
||||
mov ds, si
|
||||
mov si, word [ss:bp + 14]
|
||||
mov si, word [ss:bp + 14 + extra_param_offset]
|
||||
mov word [si], ax
|
||||
mov word [si + 2], bx
|
||||
mov word [si + 4], cx
|
||||
@ -188,7 +210,11 @@ int_number:
|
||||
|
||||
pop ds
|
||||
pop bp
|
||||
%ifdef __FAR_CODE__
|
||||
retf 4
|
||||
%else
|
||||
ret 4
|
||||
%endif
|
||||
|
||||
segment data
|
||||
mem_realloc_err_msg:
|
@ -1,3 +1,3 @@
|
||||
; nasm -f obj -o prt0t.o prt0t.asm
|
||||
%define __TINY__
|
||||
%include "prt0st.asm"
|
||||
%include "prt0stm.asm"
|
||||
|
Loading…
Reference in New Issue
Block a user