I guess... You just have to figure the bits per pixel, width, height, and flow.
The tile is generally expressed as a series of continuous bytes. And in general they go line-by-line (so if the tile is 8*8 in 2 bits per pixel, I assupme it's coded on 16 bytes with the first 2 bytes are the first line.)
Thus the operation to do is to read the 2-bits pairs in reverse series per line, and write them in series to a destination 16 bytes.
Reading bits involves reading 1 byte, then masking and shifting as needed.
Is that enough for you to propose pseudo ASM code here?