1797 02 dat

来自「计算机ps.2 计算机ps.2」· 代码 · 共 63 行

TXT
63
字号
unsigned char data head,end;
unsigned char data kb_buf[16];
unsigned char data flag[16];

bit insert(unsigned char a,unsigned char f)           //插入缓冲区,F标记是否按下
{
  if((end+1)%16==head)
	return 0;
  kb_buf[end]=a;
  flag[end]=f;
  end=(end+1)%16;
  return 1;
}
void clr_buf()
{
  head=end=0;
}
unsigned char exist(unsigned char mark)  //判断是否第一次按下
{
  unsigned char i=head;
  while(i!=end)
    {
	  if(kb_buf[i]==mark)
	    return i;
	  i=(i+1)%16;
	}
  return 255;
}
/*bit emputy()
{
  return (head==end);
}
unsigned char get_end()
{
  if(head!=end)
    return kb_buf[(end-1+16)%16];
  else
    return 0;
}*/
unsigned char get_head_f()
{
  return flag[head];
}
unsigned char get_head()
{
  if(head!=end)
    return kb_buf[head];
  else 
    return 0;
}
void del_head()
{
  head=(head+1)%16;
}
void set_flag(unsigned char dire)
{
  flag[dire]=1;
}
unsigned char buf_length()
{
  return (end+16-head)%16;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?