diff --git a/samples/stdio_test.c b/samples/stdio_test.c index 3318047..9f2694c 100644 --- a/samples/stdio_test.c +++ b/samples/stdio_test.c @@ -26,19 +26,18 @@ int close(int fd) { return -1; } -size_t read(int fd, void *buffer, size_t count) { - return -1; -} -size_t write(int fd, void *buffer, size_t count) { - static struct { - unsigned pCount; - unsigned refNum; - void *dataBuffer; - unsigned long requestCount; - unsigned long transferCount; - unsigned cachePriority; - } dcb; +size_t read(int fd, void *buffer, size_t count) { + +static struct { + unsigned pCount; + unsigned refNum; + void *dataBuffer; + unsigned long requestCount; + unsigned long transferCount; + unsigned cachePriority; +} dcb; + unsigned tool_error = 0x0043; @@ -55,6 +54,36 @@ size_t write(int fd, void *buffer, size_t count) { #endasm if (tool_error) return -1; return dcb.transferCount; + +} + +size_t write(int fd, void *buffer, size_t count) { + +static struct { + unsigned pCount; + unsigned refNum; + void *dataBuffer; + unsigned long requestCount; + unsigned long transferCount; + unsigned cachePriority; +} dcb; + + + unsigned tool_error = 0x0043; + + dcb.pCount = 4; + dcb.refNum = fd+1; + dcb.dataBuffer = buffer; + dcb.requestCount = count; + #asm + pea #^%%dcb + pea #%%dcb + pea #$2013 + jsl $e100b0 + sta %%tool_error; + #endasm + if (tool_error) return -1; + return dcb.transferCount; } long lseek(int fd, long offset, int whence) { diff --git a/samples/stdio_test.lst b/samples/stdio_test.lst index dc55377..261b1fb 100644 --- a/samples/stdio_test.lst +++ b/samples/stdio_test.lst @@ -1,4 +1,4 @@ - Tue Jan 17 2017 23:24 Page 1 + Tue Jan 17 2017 23:30 Page 1 *************************************** @@ -59,7 +59,7 @@ 50 00:0028: F4 xx xx pea #^L1+14 51 00:002B: F4 xx xx pea #