;;; -*- Mode:LISP; Package:NEW-MATH; Base:10 -*- (defafun short-status (short) (ALU-FIELD EXTRACT-BIT-RIGHT NOP IGNORE A0 hw:%%short-float-sign PW-II) (ALU-FIELD ALIGNED-FIELD-XOR NOP gr:*ALL-ZERO* A0 hw:%%short-float-exponent-and-mantissa PW-II BR-ZERO) (BRANCH positive (MOVE A1 gr:*ZERO* BOXED-RIGHT BR-NOT-EQUAL)) (BRANCH negative-non-zero ()) negative-zero (movei return (quote hw:$$alu-status-negative-zero-and-others) ch-return next-pc-return) negative-non-zero (movei return (quote hw:$$alu-status-negative-and-others) ch-return next-pc-return) positive (BRANCH positive-non-zero ()) positive-zero (movei return (quote hw:$$alu-status-zero-and-others) ch-return next-pc-return) positive-non-zero (movei return (quote hw:$$alu-status-positive) ch-return next-pc-return) )