а вообще, все это жесткая порнуха; кто миллисекунды увеличивает? на прерываниях? ну и делается это тогда отдельными счетчиками на мсек/сек/мин/час, увеличивающимися друг за другом, зачем вообще процессор и такты излишне жечь делением?! )
а вообще, все это жесткая порнуха; кто миллисекунды увеличивает? на прерываниях? ну и делается это тогда отдельными счетчиками на мсек/сек/мин/час, увеличивающимися друг за другом, зачем вообще процессор и такты излишне жечь делением?! )
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Пока "мотаю на ус" С табличками не знаком, никогда не использовал их. Возможно попробую и такой вариант для саморазвития, как только сделаю вариант с делением.
миллисекунды считает "железка" и хранит у себя. И в одном из пунктов меню утилиты, которую пишу для этой "железки" процессор занят только выводом на экран этого времени. Можно сказать это простой "показометр". Так что в данном случае не критично как перекодировать время. Главное, чтобы правильно на экран выводилось в часах, минутах, секундах ...![]()
к примеру нарисую умножение на 3 по табличке
Код:ld h,$c0 ;старший адрес таблички ld l,a ;то что нужно умножить ld a,(hl) ;получаем результат ;сама табличка org $c000 defb 0*3 defb 1*3 defb 2*3 defb 3*3 .... ;и так до defb 255*3
если нам не хватает 8 бит для результата
Код:ld h,$c0 ;старший адрес таблички ld l,a ;то что нужно умножить ld с,(hl) ;получаем младший байт результат inc h ; меняем табличку ld b,(hl) ;получаем старший байт результата ;сама табличка org $c000 defb (0*3) % 256 ;% - остаток от деления. в sjasmplus можно low (0*3) defb (1*3) % 256 defb (2*3) % 256 defb (3*3) % 256 .... ;и так до defb (255*3)% 256 org $c100 defb (0*3) / 256 ; в sjasmplus можно high (0*3) defb (1*3) / 256 defb (2*3) / 256 defb (3*3) / 256 .... ;и так до defb (255*3) / 256
с таким же успехом можно делать таблички в другой плоскости (правда с некоторыми ограничениями)
в l заносить номер таблички
а в h подставлять данные для обработки
таким образом можно запихнуть любое количество операций любой сложности с одной переменной
(нет можно и с несколькими конечно но это уже сложней и памяти жрет неимоверно)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)