上位"バイト"とかいうと、それはバイトより大きな単位の中の上位にある1バイトのことになるが。
16進数一桁なら上位ニブルとかいう。
で、ダンプをずらずらと書く必要はまるでないように見受けられるが。繰り返しかかれるのはうざい。

で、aに1バイト入っていて、a_hiに上位、a_loに下位を入れたいだけなら
a_hi := (a shr 4) and $0f;
a_lo := a and $0f;
でよろし。