Как перевести текущую дату в секундах в дату формата дд/мм/гггг чч/мм/сс?

С помощью системного прерывания 13 я получил текущую дату в секундах. Теперь мне надо преобразовать ее в дату формата дд.мм.гггг чч:мм:сс

Делаю это с помощью команд div и сохраняю в отдельные переменные. Разделил 2 раза на 60, на 24, получил общее количество дней, по идее в остатке 0. Целую часть теперь нужно делить на 30, 31, (в месяце же разное количество дней) чтобы корректно получить количество месяцев, а в остатке дату дня?, далее, я так понимаю, целую часть делим на 12 и прибавим 1970 — получаем год, а в остатке месяц.

Мой код (данная процедура вызывает Исключение в операции с плавающей точкой)

section .seconds_to_date

seconds_to_date:

push eax
push ebx
push ecx
push edx

mov ebx, 60 

div ebx ; eax - minutes
mov [seconds], edx ; seconds
div ebx ; hours
mov [minutes], edx ; minutes

mov ebx, 24
div ebx ; eax - days (целое по идее)
mov ebx, 30
div ebx ; eax - month
mov [day], edx 
mov ebx, 12
div ebx ; eax number of years
mov [month], edx
mov ebx, 1970
add eax, ebx ; year
mov [year], eax

pop edx
pop ecx
pop ebx
pop eax

ret

Ответы (0 шт):