от 16-битного беззнакового значения до минут и секунд

Я пишу некоторый ассемблерный код PIC для вычисления оставшегося времени дорожки компакт-диска на основе прошедших минут и секунд и общей длины дорожки (16-битное беззнаковое значение в секундах).

Прошедшие минуты и секунды представляют собой два 8-битных значения без знака (два регистра GPR), общая длина трека представляет собой двухбайтовое значение (старший байт и младший байт).

Мне нужно вычислить оставшееся время, выраженное в минутах и ​​секундах. Я попытался вычислить общее количество прошедших секунд (elapsed_minutes * 60 + elapsed_seconds), вычитая его из общей длины трека. Теперь столкнулся с проблемой, как преобразовать такой результат обратно в формат ММ:СС. Нужно ли делить на 60? взять частное (минуты) и остаток (секунды)?


person Gianluca Ghettini    schedule 11.12.2014    source источник


Ответы (1)


Да, вы делите на 60, чтобы получить минуты, а остаток — секунды. Это просто алгебра, а не магия!

person janm    schedule 11.12.2014
comment
Конечно же, никакой магии! :-) посоветуете ли вы какой-нибудь хороший алгоритм для этого? как делать повторные вычитания над двухбайтовым значением? - person Gianluca Ghettini; 12.12.2014