#include "sercom.h" /* * initialize port */ void init_port() { old_com_isr=getvect(IRQ4); setvect(IRQ4,new_com_isr); /* port parameter initialze */ bioscom(0,DATA8|STOP1|NOPA|B9600,COM1); /* MCR set */ outportb(MCR,0x0b); /* COM Interrupt enable */ outportb(IER,0x01); /* 8259 PIC mask bit set */ outportb(PICMSK,(inportb(PICMSK)&(ONMSK))); } /* COM interrupt disable and restore parameters */ void close_port() { /* MCR reset */ outportb(MCR,0x0); /* COM Interrupt disable */ outportb(IER,0); /* 8259 PIC mask bit restore */ outportb(PICMSK,(inportb(PICMSK)|OFFMSK)); setvect(IRQ4,old_com_isr); }