putb.xyw

putb.xyw
calendarsave
; .include "lib/macros.xyw"

; Print a nibble (0-F)
; b ->
.label putn
  POPx
  $09 LTHx putn.letter JCNw
  $30 ADDx PUTC
  RTS
  .label putn.letter
    $37 ADDx PUTC
    RTS

; Print a byte as exactly two hex digits
; b ->
.label putb
  POPx
  PSHx $04 SHR putn JSRw ; high nibble
  PSHx $0F AND putn JMPw ; low nibble