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
Describe problem with Runtime type identification? A: The run time kind identification comes at cost of performance penalty. Compiler maintains class.

Explain Formatted Input Output with File Pointer? Likewise there are equivalents to the functions scanf and printf which write or read data to files. These are called fscanf a

Develop a biomedical imaging project Project Description: This is a biomedical imaging project. Skills required are C++ Programming, Cocoa, Mac OS, Objective C

Compiler Design - Limit In The Method Instructions


HOW CAN WE EASLY LEARN C++

This task involves char arrays and pointer based string handling. Which we use to make a simple encryption program, using a Caesar Cipher, Write a program that: a. Asks

Explain about the Constants in c language? The Constants in C refer to fixed values that don't change during the execution of a program. C has four fundamental types of constan

Write a program that accepts two real numbers from a user and a select code. If the entered select code is 1, have the program add the two previously entered numbers and display t

I have a program and I want someone to fix it for me by using basic c language program.