# HAL macros

This is an API that sits on top of the HAL [doc/hal] and provides an useful set
of macros on top of it. Because those macros aren't used for bootstrapping, they
aren't included in the core HAL.

## API

(i? ( op -- ?n f )
  Yields whether "op" is an immediate one. If it is, also yield the associated
  immediate number.

mulorshift, ( op -- )
  If "op" is an immediate and is also a power of 2, generate a left shift with
  "<<,". If immediate is 1, nothing is generated. Otherwise, do "*,"

divorshift, ( op -- )
  If "op" is an immediate and is also a power of 2, generate a right shift with
  ">>,". If immediate is 1, nothing is generated. Otherwise, do "/mod,"
