亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? port.c

?? z85c30 DRIVER RUN ON PC104 PC AND VXWORKS SYSTERM.
?? C
?? 第 1 頁 / 共 5 頁
字號:
	in al,dx
	mov is_reg,al
	out dx,al
	}             /* 清除ISR*/
	/* 判斷是何種中斷 */
	if(is_reg&0x01) {
	  /*	Mark_PRX[recvIntPointer++]=0x88;*/
	  /*	if(recvIntPointer==0x32) recvIntPointer=0;*/
		Mark_PRX1=0x88;
		nic_recieved=1;
	}
	if(is_reg&0x02)  Mark_PTX=0x88;
	if(is_reg&0x04)
	{
		Mark_RXE=1;
	}
	if(is_reg&0x08)  Mark_TXE=0x88;
	if(is_reg&0x10)
	{
		Mark_OVW=1;
		asm{
		push ax
		push dx
		mov dx,ISR     /*; 讀中斷識別寄存器ISR */
		in al,dx
		and al,0efh

		mov is_reg,al
		out dx,al
		pop dx
		pop ax
		}
	}
	if(is_reg&0x20)  Mark_CNT=0x88;
	if(is_reg&0x40)  Mark_RDC=0x88;
	if(is_reg&0x80)
	{
		Mark_RST=1;
		asm{
		push ax
		push dx
		mov dx,ISR     /*; 讀中斷識別寄存器ISR */
		in al,dx
		and al,7fh

		mov is_reg,al
		out dx,al
		pop dx
		pop ax
		}
	}
	asm{
	mov dx,IMR     //;IMR renable
	mov al,0ffh
	out dx,al

	mov al,20h
	out 20h,al
	out 0a0h,al


	pop cx
	pop es
	pop si
	pop di
	pop bp
	pop ds
	pop ax
	pop bx
	pop dx
	pop ax
	}
	outp(intcommand1,0x20);
	outp(intcommand2,0x20);

	asm{
	push ax
	push dx
	mov dx,ISR     /*; 讀中斷識別寄存器ISR */
	in al,dx
	mov is_reg,al
	out dx,al
	pop dx
	pop ax
	}             /* 清除ISR*/
	/* 判斷是何種中斷 */
	if(is_reg!=0) goto net_handle;
	enable();
}

/*void interrupt keyboard_interrupt(void)
{
char keycode;
keycode=inport(0x60);
switch(keycode)
{
  case 0x01:     //ESC
  break;
  case 0x26:     //L
  break;
  case 0x2b:
  break;
  case 0x14:     //t
  break;
  case 0x21:      //s
  break;
  case 0x16:
  break;
  case 0x1f:
  break;
  case 0x32:
  break;
}
outp(intcommand1,0x20);
}*/
//=========================================================================//

void async_touch_com_sending(int Tport_number)
{
    int commandport;
    int dataport;

    int Tcom_number;
    Tcom_number=Tport_number+1;
    switch(Tcom_number)
    {
    case 1:
	touch_com1_sending();
    break;
    case 2:
	touch_com2_sending();
    break;
    default:
	if(Tcom_number%2)
	{
	    commandport=0x2d2+(Tcom_number-3)*2;
	    dataport=0x2d3+(Tcom_number-3)*2;
	}
	else
	{
	    commandport=0x2d0+(Tcom_number-4)*2;
	    dataport=0x2d1+(Tcom_number-4)*2;
	}


	if((iportsendbuffW[Tport_number]!=iportsendbuffR[Tport_number])&&(sending[Tport_number]==0))
	{
		outp(commandport,0x00);
		rr3=inp(commandport);
		rr3=rr3&0x04;
		if(rr3==0x04)
		//if(sending34==0)
		{
			outp(dataport,portsendbuff[Tport_number][iportsendbuffR[Tport_number]]);
			//printf(" %X",portsendbuff[Tport_number][iportsendbuffR[Tport_number]]);
			//printf(" W= %d R= %d\n",iportsendbuffW[Tport_number],iportsendbuffR[Tport_number]);
			iportsendbuffR[Tport_number]++;
			if(iportsendbuffR[Tport_number]>=MAX_DATA)
				iportsendbuffR[Tport_number]=0;
			//sending[Tport_number]=1;
			com_send_count[Tport_number]++;
			outp(commandport,0x00);
			outp(commandport,0x28);
		}
	}
    ///
    }
}

void sync_touch_com_sending(int Tport_number)
{
    int commandport;
    int dataport;

    int Tcom_number;
    Tcom_number=Tport_number+1;
    switch(Tcom_number)
    {
    case 1:
	touch_com1_sending();
    break;
    case 2:
	touch_com2_sending();
    break;
    default:
	if((iportsendbuffW[Tport_number]!=iportsendbuffR[Tport_number])&&(sending[Tport_number]==0))
	{

		if(Tcom_number%2)
		{
		    commandport=0x2d2+(Tcom_number-3)*2;
		    dataport=0x2d3+(Tcom_number-3)*2;
		}
		else
		{
		    commandport=0x2d0+(Tcom_number-4)*2;
		    dataport=0x2d1+(Tcom_number-4)*2;
		}

		outp(commandport,0x00);
		rr3=inp(commandport);
		rr3=rr3&0x04;
		if(rr3==0x04)
		{ //delay(5);
			outp(dataport,portsendbuff[Tport_number][iportsendbuffR[Tport_number]]);
			iportsendbuffR[Tport_number]++;
			if(iportsendbuffR[Tport_number]>=MAX_DATA)
				iportsendbuffR[Tport_number]=0;
			sending[Tport_number]=1;
			com_send_count[Tport_number]++;
		}
		/*else
		{
		 outp(commandport,0x00);
		 rr3=inp(commandport);
		 rr3=rr3&0x04;
		 if(rr3==0x04)
		 {
			outp(dataport,portsendbuff[Tport_number][iportsendbuffR[Tport_number]]);
			iportsendbuffR[Tport_number]++;
			if(iportsendbuffR[Tport_number]>=MAX_DATA)
				iportsendbuffR[Tport_number]=0;
			sending[Tport_number]=1;
			com_send_count[Tport_number]++;
		 }
		 else
		 {
		      delay(10);
		      outp(commandport,0x00);
		      rr3=inp(commandport);
		      rr3=rr3&0x04;
		      if(rr3==0x04)
		      {
			outp(dataport,portsendbuff[Tport_number][iportsendbuffR[Tport_number]]);
			iportsendbuffR[Tport_number]++;
			if(iportsendbuffR[Tport_number]>=MAX_DATA)
				iportsendbuffR[Tport_number]=0;
			sending[Tport_number]=1;
			com_send_count[Tport_number]++;
		      }
		      else
		      {
			 delay(10);
			 outp(commandport,0x00);
			 rr3=inp(commandport);
			 rr3=rr3&0x04;
			 if(rr3==0x04)
			 {
			   outp(dataport,portsendbuff[Tport_number][iportsendbuffR[Tport_number]]);
			   iportsendbuffR[Tport_number]++;
			   if(iportsendbuffR[Tport_number]>=MAX_DATA)
				iportsendbuffR[Tport_number]=0;
			   sending[Tport_number]=1;
			   com_send_count[Tport_number]++;
			 };
		      }
		 }
		} */
	    //com_send_count[Tport_number]++;
	    //com_send_count[Tport_number]++;
	 }
    }
}

void touch_com1_sending(void)
{
	int line_flag;
	//for(;iportsendbuffW[0]!=iportsendbuffR[0];)//???
	if(iportsendbuffW[0]!=iportsendbuffR[0])
	{
	    if(sending1==0)
	    {
		line_flag=bioscom(3,0,0);
		line_flag=line_flag&0x2000;
		if(line_flag!=0)


		//line_flag = bioscom(3, 0, 0);
		//if((line_flag & 0x100)!=0)

		//if((inp(com1_lineflag)&0x20)!=0)
		{
			outp(com1_dataport,portsendbuff[0][iportsendbuffR[0]]);
			iportsendbuffR[0]++;
			if(iportsendbuffR[0]>=MAX_DATA)
				iportsendbuffR[0]=0;
			//sending1=1;
			com_send_count[0]++;
		};
	    };
	}
}
void touch_com2_sending(void)
{
	int line_flag;
	if(iportsendbuffW[1]!=iportsendbuffR[1])
	{
	    if(sending2==0)
	    {
		line_flag=bioscom(3,0,1);
		line_flag=line_flag&0x2000;
		if(line_flag!=0)
		//if((inportb(0x2fd)&0x20)!=0)
		{
			outp(com2_dataport,portsendbuff[1][iportsendbuffR[1]]);
			iportsendbuffR[1]++;
			if(iportsendbuffR[1]>=MAX_DATA)
				iportsendbuffR[1]=0;
			sending2=1;
			com_send_count[1]++;
		};
	    };
	}
}

void touch_all_port(void)
{
   int port_number=0;

   for(port_number=0;port_number<14;port_number++)
   {
     if((iportsendbuffW[port_number]!=iportsendbuffR[port_number])&&sending[port_number]==0)
     {
	if(Port_Set[port_number][5]==1)
	//sync;
	{
	    sync_touch_com_sending(port_number);
	}
	else
	//async;
	{
	    async_touch_com_sending(port_number);
	}
     }
   }
}
/*void interrupt_zi_programe(int Tcom_number)///////////////////New
{
    static int writedata_flag[14]={0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    int commandport1;
    int dataport1;
    int commandport2;
    int dataport2;

    int ifor1;
    char recv_char;

    commandport1=0x2d2+(Tcom_number-3)*2;
    dataport1=0x2d3+(Tcom_number-3)*2;
    commandport2=0x2d0+(Tcom_number+1-4)*2;
    dataport2=0x2d1+(Tcom_number+1-4)*2;
    Tcom_number=Tcom_number-1;

    disable();

    handle3a:
//.........................A
/////////////////////////////
    if(Port_Set[Tcom_number][5]==0)
    {
    //------async;
    }
    else
    {
	outp(commandport1,0x03);
	rr3=inp(commandport1);
	rr3=rr3&0x08;
	if(rr3==0x08)
	{
		outp(commandport1,0x01);
		rr1=inp(commandport1);
		if((rr1&0x80)==0x80)                             //EOF
		if(writedata_flag[Tcom_number]==1)
		{

			//c1_receive_7e_count++;
			sync_recevie_7e[Tcom_number]=1;

			outp(commandport1,0x01);
			rr1=inp(commandport1);
			if((rr1&0x40)==0x40)
			{
				crc_check_erro[Tcom_number]=1;
				if(iportreceivebuffW[Tcom_number]!=iportreceivebuffR[Tcom_number]-1)
				{
					portreceivebuff[Tcom_number][iportreceivebuffW[Tcom_number]]=1;

					iportreceivebuffW[Tcom_number]++;
					if(iportreceivebuffW[Tcom_number]>=MAX_DATA)
						iportreceivebuffW[Tcom_number]=0;
				}
				else
				{}
				outp(commandport1,0x0);
				outp(commandport1,0x30);// Error Reset
			}
			else
			{
				if(iportreceivebuffW[Tcom_number]!=iportreceivebuffR[Tcom_number]-1)
				{
					portreceivebuff[Tcom_number][iportreceivebuffW[Tcom_number]]=0;
					iportreceivebuffW[Tcom_number]++;
					if(iportreceivebuffW[Tcom_number]>=MAX_DATA)
						iportreceivebuffW[Tcom_number]=0;
				}
				else
				{}
			}

			for(ifor1=0;ifor1<4;ifor1++)
			{
				if(iportreceivebuffW[Tcom_number]!=iportreceivebuffR[Tcom_number]-1)
				{
					portreceivebuff[Tcom_number][iportreceivebuffW[Tcom_number]]=0x7e;
					iportreceivebuffW[Tcom_number]++;
					if(iportreceivebuffW[Tcom_number]>=MAX_DATA)
						iportreceivebuffW[Tcom_number]=0;
				}
				else
				{}
			}
			//goto quit_interrupt;
			writedata_flag[Tcom_number]=0;
		}

		outp(commandport1,0x00);
		rr0=inp(commandport1);

		if((rr0&0x04)==0x0)               // Tx Buffer Empty;
		{
			//outp(commandport1,0x0);
			//outp(commandport1,0x28);
		};

		outp(commandport1,0x00);
		rr0=inp(commandport1);

		if((rr0&0x01)==0x0)	       // Rx character Available;
		{

		};
		outp(commandport1,0x0);
		outp(commandport1,0x10);
	}
    }
/////////////////data receive;
	outp(commandport1,0x03);                  //com3 receive;
	rr3=inp(commandport1);
	rr3=rr3&0x20;
	while(rr3==0x20)
	{
		recv_char=inp(dataport1);
		com_received_num[Tcom_number]++;

		if(iportreceivebuffW[Tcom_number]!=iportreceivebuffR[Tcom_number]-1)
		{
			portreceivebuff[Tcom_number][iportreceivebuffW[Tcom_number]]=recv_char;
			iportreceivebuffW[Tcom_number]++;
			if(iportreceivebuffW[Tcom_number]>=MAX_DATA)
				iportreceivebuffW[Tcom_number]=0;
			writedata_flag[Tcom_number]=1;
		}
		else
		{}
		outp(commandport1,0x03);
		rr3=inp(commandport1);
		rr3=rr3&0x20;
	}


/////////////////data send;
	outp(commandport1,0x03);             //com3 send;
	rr3=inp(commandport1);
	rr3=rr3&0x10;
	while(rr3==0x10)
	{
		com_int_count[Tcom_number]++;
		if(iportsendbuffW[Tcom_number]!=iportsendbuffR[Tcom_number])
		{
			outp(dataport1,portsendbuff[Tcom_number][iportsendbuffR[Tcom_number]]);
			iportsendbuffR[Tcom_number]++;
			if(iportsendbuffR[Tcom_number]>=MAX_DATA)
				iportsendbuffR[Tcom_number]=0;
			sending[Tcom_number]=1;
			com_send_count[Tcom_number]++;
		}
		else
		{
		    if(Port_Set[Tcom_number][5]==0)
		    {
			sending[Tcom_number]=0;
		    }
		    else
		    {
		      if(sending[Tcom_number]!=0)
		      {
			sending[Tcom_number]++;
			if(sending[Tcom_number]>=4)
			  sending[Tcom_number]=0;
		      }
		    }
		    outp(commandport1,0x28);
		}
		outp(commandport1,0x03);
		rr3=inp(commandport1);
		rr3=rr3&0x10;
	}

//.......................end A;


//.........................B
//////////////////
    if(Port_Set[Tcom_number+1][5]==0)
    {
    //------async;
    }
    else
    {
	outp(commandport1,0x03);                            //com4 interrupt deal;
	rr3=inp(commandport1);
	rr3=rr3&0x01;
	if(rr3==0x01)
	{
		outp(commandport2,0x01);
		rr1=inp(commandport2);
		if((rr1&0x80)==0x80)                             //EOF
		if(writedata_flag[Tcom_number+1]==1)
		{
			sync_recevie_7e[Tcom_number+1]=1;

			outp(commandport2,0x01);
			rr1=inp(commandport2);
			if((rr1&0x40)==0x40)
			{
				crc_check_erro[Tcom_number+1]=1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人妇做爰xxxⅹ性高电影| 视频一区视频二区中文| 国产成人精品亚洲日本在线桃色| 欧美一区二区黄| 美腿丝袜在线亚洲一区| 精品少妇一区二区三区在线视频| 美国毛片一区二区| 欧美精品一区二区在线观看| 国产综合久久久久影院| 欧美高清一级片在线观看| 国产成人精品三级| 亚洲欧美一区二区三区极速播放| 色婷婷综合中文久久一本| 亚洲午夜久久久久中文字幕久| 欧美视频一区二区三区在线观看 | 精品1区2区在线观看| 国产在线播精品第三| 欧美激情在线观看视频免费| 91浏览器在线视频| 婷婷国产在线综合| 精品国产99国产精品| 99久久er热在这里只有精品66| 一区二区激情小说| 欧美草草影院在线视频| 波多野结衣中文字幕一区| 亚洲高清在线精品| 精品99999| 欧美偷拍一区二区| 国产老女人精品毛片久久| 亚洲柠檬福利资源导航| 91精品国产91久久久久久最新毛片| 国产一区二区三区日韩| 一级特黄大欧美久久久| 精品美女在线播放| 日本久久精品电影| 国产精品1区2区3区在线观看| 一区二区三区免费网站| 久久亚洲欧美国产精品乐播| 色就色 综合激情| 国产久卡久卡久卡久卡视频精品| 亚洲在线观看免费| 国产色综合久久| 制服丝袜亚洲网站| 99久久精品一区| 激情久久五月天| 亚洲一区二区三区小说| 国产欧美日韩精品一区| 777欧美精品| 一本色道久久综合精品竹菊| 国产精品99久久久久久久女警| 亚洲综合999| 最新高清无码专区| 久久综合狠狠综合久久综合88| 欧美视频中文字幕| 97精品国产露脸对白| 国产一区不卡视频| 久色婷婷小香蕉久久| 偷拍一区二区三区| 日韩理论片中文av| 国产午夜亚洲精品理论片色戒| 91麻豆精品国产91久久久资源速度 | 中文字幕一区日韩精品欧美| 精品国精品自拍自在线| 91精品婷婷国产综合久久性色| 97久久精品人人爽人人爽蜜臀| 成人午夜视频福利| 国产精品影视在线| 久久电影网站中文字幕| 日日骚欧美日韩| 亚洲综合在线五月| 亚洲靠逼com| 成人免费在线播放视频| 国产精品网站在线观看| 久久久久久97三级| 久久品道一品道久久精品| 日韩欧美国产一区二区在线播放| 欧美人成免费网站| 欧美一区二区三区影视| 9191久久久久久久久久久| 在线这里只有精品| 欧美性色黄大片| 欧美日韩免费电影| 欧美色图免费看| 欧美欧美午夜aⅴ在线观看| 欧美亚洲综合网| 欧美日韩五月天| 制服丝袜亚洲精品中文字幕| 在线不卡免费av| 日韩视频一区二区| 久久综合久久综合九色| 精品免费一区二区三区| 国产欧美1区2区3区| 中文久久乱码一区二区| 国产精品乱人伦中文| 日韩毛片高清在线播放| 亚洲一区二区在线免费观看视频| 亚洲午夜电影在线观看| 日本亚洲免费观看| 国产成人在线视频播放| 99精品一区二区三区| 色呦呦日韩精品| 91精品国产高清一区二区三区| 精品捆绑美女sm三区| 国产亚洲女人久久久久毛片| 成人免费在线观看入口| 亚洲r级在线视频| 国内精品不卡在线| 99精品久久只有精品| 欧美日韩在线三区| 精品国产污网站| 国产精品国模大尺度视频| 亚洲一区二区在线免费看| 久久成人久久爱| www.视频一区| 69av一区二区三区| 国产日本欧美一区二区| 樱桃视频在线观看一区| 美国毛片一区二区三区| www.视频一区| 欧美成人vr18sexvr| 亚洲男人天堂一区| 久久成人麻豆午夜电影| 色国产综合视频| 精品国产伦理网| 亚洲最大色网站| 国产白丝网站精品污在线入口| 91久久线看在观草草青青| 精品精品国产高清一毛片一天堂| 亚洲女同ⅹxx女同tv| 久久91精品国产91久久小草| 色偷偷成人一区二区三区91| 久久综合精品国产一区二区三区| 亚洲一区二区av电影| 国产电影精品久久禁18| 欧美高清dvd| 亚洲欧美成aⅴ人在线观看 | 亚洲一区日韩精品中文字幕| 国产大陆亚洲精品国产| 欧美日韩亚洲综合| 国产精品盗摄一区二区三区| 美腿丝袜亚洲色图| 欧美图片一区二区三区| 亚洲国产精品v| 久久99国产精品久久99| 欧美丝袜自拍制服另类| 亚洲欧洲综合另类| 高清不卡一二三区| 精品国免费一区二区三区| 香蕉影视欧美成人| 色综合久久九月婷婷色综合| 久久美女高清视频| 美女尤物国产一区| 欧美日本国产一区| 一区二区不卡在线视频 午夜欧美不卡在| 国内精品国产三级国产a久久| 91精品在线免费| 午夜日韩在线电影| 欧美三级电影在线看| 亚洲免费伊人电影| 91在线观看高清| 国产精品国产精品国产专区不蜜 | 在线观看91av| 亚洲国产一区二区视频| 色视频欧美一区二区三区| 国产精品久久久久久久久动漫 | 亚洲女同ⅹxx女同tv| av激情成人网| 成人免费在线播放视频| 99久久精品免费看| 亚洲视频综合在线| 91麻豆国产在线观看| 亚洲男人天堂av| 日本乱码高清不卡字幕| 亚洲国产色一区| 制服丝袜亚洲精品中文字幕| 日韩中文字幕区一区有砖一区| 欧美高清www午色夜在线视频| 免费高清在线一区| 日韩精品一区二区三区视频播放| 美国毛片一区二区| 久久久久久久久久美女| 国产不卡视频一区二区三区| 国产精品不卡视频| 91麻豆123| 日韩成人一级片| 精品久久久久一区| 国产jizzjizz一区二区| 18成人在线观看| 欧美在线视频日韩| 欧美a一区二区| 国产亚洲美州欧州综合国| 成人视屏免费看| 一区二区免费看| 日韩一区二区麻豆国产| 国产一区二区三区| 中文字幕在线免费不卡| 欧美日韩一区二区在线观看视频 | 亚洲国产日韩a在线播放| 91精品国产综合久久蜜臀 | 国产精品网站一区|