если бы пользователь захотел посмотреть значения с нескольких регистров, например он задал бы 51 ворд, а потом ему захотелось 8 реал и 10 реал, вот появилось три строки
Вот такой кусочек поможет решить часть проблем ?
Код:
enum шо_вообще_есть{енто_инт, энто_реал, энто_стринг}
struct  незнамо_что {шо_это: шо_вообще_есть; размер:word;  указатель: dword}

function анукадайка(оно : незнамо_что):string
var
	Pинт : pointer to int;
	Pреал: pointer to real;
	Pстринг : pointer to string;
begin
	Pинт:=Pреал:=Рстринг:=оно.указатель;
	case оно.шо_это of
		енто_инт: анукадайка := int_to_string(Ринт^);
		енто_реал: анукадайка := real_to_string(Рреал^);
		енто_стринг: анукадайка := Pстринг^;
 	еlse
		анукадайка := concat('фигня какая-то в ', word_to_string(оно.размер));
		анукадайка := concat(анукадайка, ' байт');
	end_case
end