Skip to content
This repository has been archived by the owner on Dec 15, 2023. It is now read-only.

Aura Executable files (.aexe) can be executed on Aura Operating System!

License

Notifications You must be signed in to change notification settings

aura-systems/Aura-Executable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aura Executable

Aura Executable files (.aexe) can be executed on Aura Operating System!

Build your executable from C

You will need gcc. Just type "make" in your console within this folder.

Current features

  • printf (to print a char[])
  • fgets (to read a line and return it in a char[])
  • clear (to clear the Aura shell)
  • setcursor (to set the position of the cursor)
  • resetcursor (if you want to use setcursor you MUST add this method after each printf...)
  • Broken_memcpy (The memcpy function is used to copy a block of data from a source address to a destination address.)
  • Broken_memset (memset is used to fill a block of memory with a particular value.)
  • Broken_memcmp (Compares the first num bytes of the block of memory pointed by ptr1 to the first num bytes pointed by ptr2, returning zero if they all match or a value different from zero representing which is greater if they do not.)
  • Broken_memchr(Searches within the first num bytes of the block of memory pointed by ptr for the first occurrence of value (interpreted as an unsigned char), and returns a pointer to it.)
  • Broken_strcat (Appends a copy of the source string to the destination string. The terminating null character in destination is overwritten by the first character of source, and a null-character is included at the end of the new string formed by the concatenation of both in destination.)

How is it made?

We were inspired by the MSDOS COM files. Indeed, each function uses an interrupt to call the Aura's system calls.

To communicate between Aura Operating System and the compiled C file, the variables are saved into registers (EDI, ESI).

The EAX register is how Aura knows (after an Aura System Call: "int 0x48") what function is called. For example, if EAX is 0x01 it's the print function, if it's 0x02 it's to clear the screen etc.

About

Aura Executable files (.aexe) can be executed on Aura Operating System!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published