Assignment 2: Low Level System Call Transfer to Kernel

What you will learn:

1. Low Level System Call Transfer to OS

2. Low Level System Call Result transfer to Process

3. Of course, assembly programming on Linux with NASM with calls to kernel

Assignment

Write a program in assembly language (.asm) which will run using the assembler NASM (Netwide Assembler). The program should behave like a simple typewrite program and should also maintain a log file. your program must:

  1. Accept some Input(text) from the standard input(stdin) device.
  2. Output the same text on to the standard output(stdout) device.
  3. Output the same text to a file(i.e maintain a log file).

Instructions:

You have to use assembly language programming and use system calls (through trap). You can see the assembly code generated by the GCC (by the option -s). you must not use system calls directly. you should interact directly with the kernal by issuing trap.

Links:

You may have a look at the NASM manual at this link. Study the instruction set architecture and try to write this simple piece of assignment.Click Here

You can see the description of system calls (i.e which parameter to keep in which register) here. Click Here

Submission

Submit your .asm file using ~oslab/submit script as in: ~oslab/submit 2 myfile.asm
submit script accepts assignment no. in its first argument. Any number of files may be submitted through subsequent arguments.
You may submit any number of times before 6:00pm. Old files are overwritten in resubmission.

Deadline: 6:00pm