add zm_fifo.cpp