How the number is entered and output will depend a lot on the hardware. How it is represented in memory depends on what other software you are using. If the number is represented in memory as a non-negative hexadecimal integer, the job is as simple as using LSR on the high byte, and ROR on subsequent bytes until the entire number is shifted to the right by one bit position. If it's only a two-byte (ie, 16-bit) number, it only requires the two instructions:
Code:
LSR <address of high byte>
ROR <address of low byte address>
Very simple. The remainder from the division is in the carry flag.