/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ klib.c ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Forrest Yu, 2005 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ #include "type.h" #include "const.h" #include "protect.h" #include "string.h" #include "proc.h" #include "global.h" #include "proto.h" /*======================================================================* itoa *======================================================================*/ char * itoa(char * str, int num)/* 数字前面的 0 不被显示出来, 比如 0000B800 被显示成 B800 */ { char * p = str; char ch; int i; int flag = FALSE; *p++ = '0'; *p++ = 'x'; if(num == 0){ *p++ = '0'; } else{ for(i=28;i>=0;i-=4){ ch = (num >> i) & 0xF; if(flag || (ch > 0)){ flag = TRUE; ch += '0'; if(ch > '9'){ ch += 7; } *p++ = ch; } } } *p = 0; return str; } /*======================================================================* disp_int *======================================================================*/ void disp_int(int input) { char output[16]; itoa(output, input); disp_str(output); } /*======================================================================* delay *======================================================================*/ void delay(int time) { int i, j, k; for(k=0;k