3-into-8 decoder with negative active inputs, a positive active enable and positive active outputs.
What I like to do for assignments is make a sanity check for at least 3 random cases and see if that checks out, do what I think is correct, then once I'm done, check again, with my first sanity check.
According to what you said, then these 3 expressions should be true:
\$\scriptsize EN = 0, A = B = C = 0 => D_7 = D_6 = D_5 = D_4 = D_3 = D_2 = D_1 = D_0 = 0\$
\$\scriptsize EN = 1, A = B = C = 0 => D_7=1,D_6 = D_5 = D_4 = D_3 = D_2 = D_1 = D_0 = 0\$
\$\scriptsize EN = 1, A = B = C = 1 => D_7 = D_6 = D_5 = D_4 = D_3 = D_2 = D_1 = 0, D_0 = 1\$
Let's continue with the rest.
$$\begin{array}{|c|c|}
\hline E & C & B & A && D_7 & D_6 & D_5 & D_4 & D_3 & D_2 & D_1 & D_0 \\\hline
\textbf{0} & \textbf{X} & \textbf{X} & \textbf{X} && \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} \\\hline
\textbf{1} & \textbf{0} & \textbf{0} & \textbf{0} && \textbf{1} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} \\\hline
1 & 0 & 0 & 1 && 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\hline
1 & 0 & 1 & 0 && 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\\hline
1 & 0 & 1 & 1 && 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\\hline
1 & 1 & 0 & 0 && 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\\hline
1 & 1 & 0 & 1 && 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\\hline
1 & 1 & 1 & 0 && 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\\hline
\textbf{1} & \textbf{1} & \textbf{1} & \textbf{1} && \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{0} & \textbf{1} \\\hline
\end{array}$$
I've bolded my sanity checks, which checks out. Inverting inputs is evil.
And you got your diagonal wrong in your image.
Here's a sanity check for you that probably got you overthinking things.
\$B = C = A = 0 => inverted => 111_2 = 7\$