I am new to PASCAL and I am working on a PASCAL code. I would really appreciate if somebody helped me understand this piece of code.
readagain1:
Write(' ', (BYWORD(fileio_dcb.usr_buf^[WRD((2*j)+1)], fileio_dcb.usr_buf^[WRD((2*j)+0)])):4:16);
Write(' ', (BYWORD(fileio_dcb.usr_buf^[WRD((2*j)+3)], fileio_dcb.usr_buf^[WRD((2*j)+2)])):4:16);
Write(' ', (BYWORD(fileio_dcb.usr_buf^[WRD((2*j)+5)], fileio_dcb.usr_buf^[WRD((2*j)+4)])):4:16);
Write(' ', (BYWORD(fileio_dcb.usr_buf^[WRD((2*j)+7)], fileio_dcb.usr_buf^[WRD((2*j)+6)])):4:16);
Write(' ', (BYWORD(fileio_dcb.usr_buf^[WRD((2*j)+9)], fileio_dcb.usr_buf^[WRD((2*j)+8)])):4:16);
Write(' ', (BYWORD(fileio_dcb.usr_buf^[WRD((2*j)+11)], fileio_dcb.usr_buf^[WRD((2*j)+10)])):4:16);
Write(' ', (BYWORD(fileio_dcb.usr_buf^[WRD((2*j)+13)], fileio_dcb.usr_buf^[WRD((2*j)+12)])):4:16);
WriteLn(' ', (BYWORD(fileio_dcb.usr_buf^[WRD((2*j)+15)], fileio_dcb.usr_buf^[WRD((2*j)+14)])):4:16);
j := j+8;
IF (j < 100) THEN GOTO readagain1;
j := 0;
int_dcb.txt_buf.r := 0;
WriteLn;
WriteLn('Reading txt_buf ; ');
readagain1 is a label that has already been declared.
Hexdecimal numbers are being read from a file into a buffer(fileio_dcb.usr_buf) ans some operation is being performed on the hex number read. I would appreciate any help with understanding the operation being performed on the number.