Psudo code for interrupt handler , C/C++ Programming

The rPeANUt simulator provides buffering of the characters that are typed into the terminal. However, this would generally not be the case so if the program did not consume a character before the next one is typed then a character may be lost. So in this next part of the lab you are required to write an interrupt handler for the IO terminal that will capture characters as they are typed and place them in a buffer. The read system call would then read them out of this buffer rather than directly from the device. The psudo code for interrupt handler with a single character buffer:

void iohandler () {

   if (buffcount == 0) {

      buff = getchar();  // no need to poll on the status register

      buffcount = 1;

   } else {

      getchar(); // no room in the buffer so we lost a character!!!

   }

   enableInterrupts();

}

void traphandler ()  {

   enableInterruptes();

   if (R0 == 0) { // read system call

      while (buffcount == 0) ;

      R1 = buff;

      buffcount = 0;

   } else if (R0 == 1) { // write system call

      putchar(R1); // just store R1 to memory location 0xfff0

   }

}

char buff;

int buffcount;

void main() {

   buffcount = 0;

   enableIOterminalInterrupts();  // involves writing to the control register of the IO terminal device.

   char c;

   while (1) {

      c = read();

      write(c);

   }

}

 

Posted Date: 3/8/2013 6:28:15 AM | Location : United States







Related Discussions:- Psudo code for interrupt handler , Assignment Help, Ask Question on Psudo code for interrupt handler , Get Answer, Expert's Help, Psudo code for interrupt handler Discussions

Write discussion on Psudo code for interrupt handler
Your posts are moderated
Related Questions
No. it's not required The C++ language guarantees that delete p will do nothing if p is equivalent to NULL. As you might get the test backwards, and as most testing methodologie

There is a pebble merchant. He sells the pebbles, that are used for shining the floor. His main duty is to take the length of the room’s sides. But he sometimes mistakes doing that

A: Use std::ios::binary. Some operating systems differentiate among text and binary modes. In text mode, end-of-line sequences and perhaps other things are translated; in binary

how i can open a file

Suppose we use Lists to represent a movie which has a title, cast and year. For example, the following list represents the movie, "Die Hardly", with the cast "Bruce Willing" and "T

I need Decompile Library(.DLL or .SO) into source code Project Description: I am seeking an experienced programmer or anyone who knows a thing or two about reverse engineerin

Aim: To implement a program to convert distance given in feet and inches into meters and centimeters and vice versa. Code:                         class mcm; class

Project Description: I have software written with VB that i helped design, but now the original author died,(Neil Tromp), and the software ended up in the hands of someone else!

Control structures The control structures appear in both structured programming languages as well as object oriented programming languages.  The three constructs used are: i)

Hi is there any chance to get assignment for fresher tutor