浏览代码

really minimal msdos rtl added

git-svn-id: branches/i8086@23722 -
nickysn 12 年之前
父节点
当前提交
fd328eda44
共有 3 个文件被更改,包括 53 次插入0 次删除
  1. 2 0
      .gitattributes
  2. 27 0
      rtl/msdos/prt0.asm
  3. 24 0
      rtl/msdos/system.pp

+ 2 - 0
.gitattributes

@@ -8189,6 +8189,8 @@ rtl/morphos/utility.pp svneol=native#text/plain
 rtl/morphos/varutils.pp svneol=native#text/plain
 rtl/morphos/video.pp svneol=native#text/plain
 rtl/morphos/videodata.inc svneol=native#text/plain
+rtl/msdos/prt0.asm svneol=native#text/plain
+rtl/msdos/system.pp svneol=native#text/plain
 rtl/nativent/Makefile svneol=native#text/plain
 rtl/nativent/Makefile.fpc svneol=native#text/plain
 rtl/nativent/buildrtl.lpi svneol=native#text/plain

+ 27 - 0
rtl/msdos/prt0.asm

@@ -0,0 +1,27 @@
+; nasm -f obj -o prt0.o prt0.asm
+
+	cpu 8086
+
+	segment text use16
+	
+	extern PASCALMAIN
+	
+..start:
+	mov ax, dgroup
+	
+	mov ss, ax
+	mov sp, stacktop
+	mov ds, ax
+	mov es, ax
+	
+	jmp PASCALMAIN
+
+	segment data use16
+
+	segment stack stack
+	resb 1024
+	stacktop:
+
+	segment bss
+
+	group dgroup data bss stack

+ 24 - 0
rtl/msdos/system.pp

@@ -0,0 +1,24 @@
+unit system;
+
+{$ASMMODE intel}
+
+interface
+
+type
+  HRESULT = LongInt;
+
+implementation
+
+procedure fpc_Initialize_Units;[public,alias:'FPC_INITIALIZEUNITS']; compilerproc;
+begin
+end;
+
+procedure do_exit;[Public,Alias:'FPC_DO_EXIT'];
+begin
+  asm
+    mov ax, 4c00h
+    int 21h
+  end;
+end;
+
+end.