diff --git a/abstract-machine/am/src/platform/nemu/include/nemu.h b/abstract-machine/am/src/platform/nemu/include/nemu.h index 0030772..56718a0 100644 --- a/abstract-machine/am/src/platform/nemu/include/nemu.h +++ b/abstract-machine/am/src/platform/nemu/include/nemu.h @@ -47,4 +47,11 @@ typedef uintptr_t PTE; #define PGSIZE 4096 +#define PNT_BITS(num, sz, head) do { \ + putch(head); \ + for (uint8_t size = sz; size; size --) \ + putch('0' + ((num >> (size - 1)) & 1)); \ + putch('\n'); \ + } while (0) + #endif diff --git a/abstract-machine/am/src/platform/nemu/ioe/input.c b/abstract-machine/am/src/platform/nemu/ioe/input.c index cebafa7..2217c9b 100644 --- a/abstract-machine/am/src/platform/nemu/ioe/input.c +++ b/abstract-machine/am/src/platform/nemu/ioe/input.c @@ -6,4 +6,5 @@ void __am_input_keybrd(AM_INPUT_KEYBRD_T *kbd) { kbd->keycode = inl(KBD_ADDR); kbd->keydown = 0; // kbd->keycode & KEYDOWN_MASK; + PNT_BITS(kbd->keycode, 32, 'K'); } diff --git a/abstract-machine/am/src/platform/nemu/ioe/timer.c b/abstract-machine/am/src/platform/nemu/ioe/timer.c index 8a0daa7..a4cd5fa 100644 --- a/abstract-machine/am/src/platform/nemu/ioe/timer.c +++ b/abstract-machine/am/src/platform/nemu/ioe/timer.c @@ -3,13 +3,6 @@ #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() { @@ -18,7 +11,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); + //PNT_BITS(uptime->us, 64, 'T'); } void __am_timer_rtc(AM_TIMER_RTC_T *rtc) {