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

Assignment Help:

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);

   }

}

 


Related Discussions:- Psudo code for interrupt handler

Computer Science 101, This is what I need help with. "Create a program cre...

This is what I need help with. "Create a program creates an interface allowing the user to select from some other programs I have made one being a money converter and the other ca

B tree, real time application of b tree

real time application of b tree

Pebblemerchant, write a c++ program for pebble merchant

write a c++ program for pebble merchant

Program to display appropriate message-clients accounts, Question A ban...

Question A bank normally updates it's clients accounts at the end of each month.Of the two types of bank accounts:savings and checking, a client must maintain a minimum balance

What is namespace and explicit container, What is Namespace and Explicit ...

What is Namespace and Explicit container Namespace - Namespaces are used to group entities such as objects, classes and functions under a name. Explicit container.

Define the bitwise operators in c language, Define the Bitwise Operators in...

Define the Bitwise Operators in c language? C has distinction of supporting special operators that known as bit wise operators for manipulation of data at bit level. These oper

Luminous jewels polishing game, Luminous Jewels - The Polishing Game Bytel...

Luminous Jewels - The Polishing Game Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various lum

Minimumshelf, Write a program that finds the minimum total number of shelve...

Write a program that finds the minimum total number of shelves, including the initial one required for this loading process.

Application to maintain soccer team information, Write a C program "team.c"...

Write a C program "team.c" that maintains information for a soccer team. The program will allow you to add and delete players from your team, to search your team for players by nam

Puzzles, #questioA Padovan string P(n) for a natural number n is defined as...

#questioA Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P(1) = ‘Y’ P(2) = ‘Z’ P(n) = P(n-2) + P(n-3), n>2 where + denotes string concatenation. For a str

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd