Implementando um "relógio de parede" na memória RAM

Escreva uma subrotina clock que toma como entrada um apontador no par X para uma área de memória com 6 bytes onde é mantido um contador de tempo em ASCII no formato hhmmss ( horas minutos segundos), onde os bytes do contador conterão os seguintes valores máximos (em ASCII): 23hs, 59 mins, 59 segs. Inicialize contador com os valores ASCII correspondentes a 23hs, 59 mins, 01 segs, ou seja, em hexadecimal: 3233, 3539, 3031. Cada chamada à subrotina deve somar 1 segundo ao contador e os seus dígitos devem ser atualizados de forma apropriada. Depure a sua subrotina com o recurso de "Auto Step" do simulador, chamando-a, digamos, 16 vezes.
Sugestão: utilize o recurso de endereçamento com pre-decrementação de X para varrer e atualizar os dígitos do contador da "direita para a esquerda", ou seja, a partir do dígito menos significativo de segundos; se escrita com cuidado sua subrotina conterá apenas 15 instruções.
A subrotina clock deverá também zerar o contador quando o mesmo atingir o valor 24:00:00 hs passando-o imediatamente para 00:00:00 hs. Para este fim você precisa acrescentar cerca de 10 instruções ao código sugerido (sugestão: escreva uma subrotina para este fim).