diff --git a/abstract-machine/am/src/platform/nemu/ioe/timer.c b/abstract-machine/am/src/platform/nemu/ioe/timer.c index 4592be6..251c31f 100644 --- a/abstract-machine/am/src/platform/nemu/ioe/timer.c +++ b/abstract-machine/am/src/platform/nemu/ioe/timer.c @@ -3,6 +3,13 @@ #define GET_TIME() ((uint64_t) (uint32_t)inl(RTC_ADDR) | ((uint64_t) (uint32_t)inl(RTC_ADDR + 4) << 32)) +#define PNT_BITS(num) do { \ + putch('T'); \ + for (uint8_t size = 64; size; size --) \ + putch('0' + ((num >> (size - 1)) & 1)); \ + putch('\n'); \ + } while (0) + uint64_t __timer_start; void __am_timer_init() { @@ -11,6 +18,7 @@ void __am_timer_init() { void __am_timer_uptime(AM_TIMER_UPTIME_T *uptime) { (*(volatile AM_TIMER_UPTIME_T *)uptime).us = GET_TIME() - __timer_start; + PNT_BITS(uptime->us); } void __am_timer_rtc(AM_TIMER_RTC_T *rtc) {