From 7c29033b58835d45a56e023744214c809fb142ad Mon Sep 17 00:00:00 2001 From: cuz Date: Thu, 12 Jun 2003 09:10:50 +0000 Subject: [PATCH] Added creat() git-svn-id: svn://svn.cc65.org/cc65/trunk@2211 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/common/Makefile | 1 + libsrc/common/creat.s | 45 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 libsrc/common/creat.s diff --git a/libsrc/common/Makefile b/libsrc/common/Makefile index 1de5b9a93..30db5df7c 100644 --- a/libsrc/common/Makefile +++ b/libsrc/common/Makefile @@ -73,6 +73,7 @@ S_OBJS = _fdesc.o \ atoi.o \ calloc.o \ copydata.o \ + creat.o \ ctime.o \ divt.o \ errno.o \ diff --git a/libsrc/common/creat.s b/libsrc/common/creat.s new file mode 100644 index 000000000..a8b81f09b --- /dev/null +++ b/libsrc/common/creat.s @@ -0,0 +1,45 @@ +; +; Ullrich von Bassewitz, 2003-06-12 +; +; int __fastcall__ creat (const char* name, unsigned mode); +; + + .export _creat + .import _open + .import pushax + + .include "fcntl.inc" + + +; The call +; +; creat (name, mode); +; +; is equivalent to +; +; open (name, O_CREAT | O_WRONLY | O_TRUNC, mode); +; + + +.proc _creat + + pha + txa + pha ; Save mode + + lda #<(O_CREAT | O_WRONLY | O_TRUNC) + ldx #>(O_CREAT | O_WRONLY | O_TRUNC) + jsr pushax + + pla + tax + pla + jsr pushax ; Push mode on argument stack + + ldy #6 ; Number of argument bytes + jmp _open + +.endproc + + + -- 2.39.5