awk Merging multiple files with symbol representing new file

I just tried following

ls *.dat|sort -t"_" -k2n,2|while read f1 && read f2; do
awk '{print}' $f1
awk FNR==1'{print $1,$2,$3,$4,$5,"*","*","*" }' OFS="\t" $f2  
awk '{print}' $f2 
done

got following result

18-Dec-1983    11:45:00    AM    18.692    84.672    0    25.4    24
18-Dec-1983    11:45:00    AM    18.692    84.672    5    25.5    24
18-Dec-1983    11:45:00    AM    18.692    84.672    10    26    24
18-Dec-1983    03:22:00    PM    18.327    84.29    *    *    *
18-Dec-1983    03:22:00    PM    18.327    84.29    0    24.5    24
18-Dec-1983    03:22:00    PM    18.327    84.29    5    24.6    24
18-Dec-1983    03:22:00    PM    18.327    84.29    10    24.8    24
18-Dec-1983    03:22:00    PM    18.327    84.29    40    27.1    24
18-Dec-1983    03:22:00    PM    18.327    84.29    45    27    24
18-Dec-1983    06:45:00    PM    18.025    83.962    0    26.4    23 -- > before this line * symbol suppose to come
18-Dec-1983    06:45:00    PM    18.025    83.962    5    26.5    23
18-Dec-1983    06:45:00    PM    18.025    83.962    10    26.5    23
18-Dec-1983    06:45:00    PM    18.025    83.962    15    26.8    23

Can anyone tell me why it's not coming and what's solution ?

If a file exists but it's empty then FNR==1 in awk will not be met and nothing will print.

what I will do to merge file

I need output like above, so I tried above code if I use

cat

I can't separate by * symbol

try something like this:

ls *.dat|sort -t"_" -k2n,2|while read f1 && read f2; do
awk '$1=$1' OFS="\t" $f1
awk 'BEGIN {OFS="\t"; print "*", "*", "*", "*", "*", "*","*","*" } $1=$1' OFS="\t" $f2
done