From: j8takagi Date: Thu, 8 Aug 2013 22:57:22 +0000 (+0900) Subject: CASL2ライブラリのabsにコメントを追加 X-Git-Tag: v0.2p28~2 X-Git-Url: https://j8takagi.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2f26407c2f75777d6014c92ecae6a6dfd86d647;p=YACASL2.git CASL2ライブラリのabsにコメントを追加 --- diff --git a/as/casl2lib/abs.casl b/as/casl2lib/abs.casl index be0b922..6f03a67 100644 --- a/as/casl2lib/abs.casl +++ b/as/casl2lib/abs.casl @@ -1,16 +1,16 @@ ;;; GR1を符号付き整数とみなし、絶対値に変換 -;;; 入力 GR1:-32768から32767の整数 -;;; 出力 GR1:入力された整数の絶対値 -;;; OF:入力されたGR1が-32768の場合、1 -;;; SF:入力されたGR1が負数(-32767〜-1)の場合、1 +;;; 入力 GR1: -32768から32767の整数 +;;; 出力 GR1: 入力された整数の絶対値 +;;; OF: 入力されたGR1が-32768の場合、1 +;;; SF: 入力されたGR1が負数(-32767〜-1)の場合、1 ABS START - AND GR1,GR1 - JPL FIN - JZE FIN - XOR GR1,ALLON - ADDA GR1,ONE - JOV FIN - CPL GR1,ALLON + AND GR1,GR1 ; GR1が0以上の場合は、FINへジャンプ + JPL FIN ; ↓ + JZE FIN ; ↓ + XOR GR1,ALLON ; GR1のビットを反転 + ADDA GR1,ONE ; GR1に1を追加 + JOV FIN ; 足し算でオーバーフローの場合は、OF:1を保持してFINへジャンプ + CPL GR1,ALLON ; SF:1を設定 FIN RET ONE DC 1 ALLON DC #FFFF