\documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta,shapes.symbols,matrix,positioning}
\begin{document}
\begin{tikzpicture}[%
	memory/.style={
		matrix of nodes,
		every node/.append style={
			font=\footnotesize\tt, outer xsep=.4ex,
		anchor=base},
		column 2/.append style={
			every node/.append style=
			{draw,fill=white, 
				minimum width=#1, 
			minimum height=1.3em}
		},
		row sep=-.4pt,
	},
	memory/.default=4em,
	descr/.style={draw=none,fill=none},
	break above/.style={shape=tape, tape bend top=in and out, tape bend bottom=none},
	break below/.style={shape=tape, tape bend top=none, tape bend bottom=in and out},
	!!/.style={fill=green!20}, % chktex 26
	pointer/.style = {font=\tt, anchor=base, inner sep=2pt},
	]
	\matrix (main) [memory] {
		& |[descr]| {\rm high addresses} \\
		& || heap\\
		& || $\downarrow$\\
		& || \ldots\\
		& || $\uparrow$\\
		& || stack\\
		& || $\uparrow$ \\
		& || tasks \\
		& |[descr]| {\rm low addresses}\\
	};
	\matrix (heap) [right=of main,memory] {
		& || tree\textsubscript{0}\\
		& || tree\textsubscript{1}\\
		& || tree\textsubscript{\ldots}\\
		& || tree\textsubscript{n}\\
	};
	\draw[dashed] (main-2-2.north east) -- (heap-1-2.north west);
	\draw[dashed] (main-3-2.south east) -- (heap-4-2.south west);
\end{tikzpicture}
\end{document}
