summaryrefslogtreecommitdiff
path: root/miniany/REQUIREMENTS
blob: 03520783edfb3c63820e59496b888987bf6bece3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
implementing:

- userland
  - argument passing to main function (argc, argv)
- libc
  - print_char
    - requires a 3 parameter syscall to 80h (Linux)
      - requires
        - inline assembly

not implementing:
- libc
  - printf
    - format string only, as replacement for puts
    - vararg required in compiler
  - puts
    - requires stdout, which is a FILE structure
  - print_char
    - requires a 3 parameter syscall to 80h (Linux)
      - requires
        - either inline assembly
        - linker and calling convention
- preprocessor
  - have a cat building up the required modules instead
  - needs file operations (at least open, close, read)
  - needs a file system on the host and the destination
    (alternative: have a tape-like file system)
- linker
  - have compilation units needs a linker do build
    an executable