SYS_OPEN (0x01)

Opens a file on the host system. The file path is specified either as relative to the current directory of the host process, or absolute, using the path conventions of the host operating system.

ARM targets interpret the special path name :tt as meaning the console input stream, for an open-read or the console output stream, for an open-write. Opening these streams is performed as part of the standard startup code for those applications that reference the C stdio streams.


On entry, R1 contains a pointer to a three-word argument block:

word 1

A pointer to a null-terminated string containing a file or device name.

word 2

An integer that specifies the file opening mode. The following table gives the valid values for the integer, and their corresponding ISO C fopen() mode.

word 3

An integer that gives the length of the string pointed to by word 1.

The length does not include the terminating null character that must be present.

Table 18. Value of mode

ISO C fopen mode[a]rrbr+r+bwwbw+w+baaba+a+b

[a] The non-ANSI option t is not supported.


On exit, R0 contains:

  • a nonzero handle if the call is successful

  • -1 if the call is not successful.

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0471G