X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=as%2FFUNC%2Fabs.casl;h=35aa20d9b87515dbcaa5b68369dcd82d912fc82a;hb=bbc3d71fec11bbd5654a04719436135035835ba3;hp=8a25f8b4800ddd297cd86292a954f89ff6d6cbfc;hpb=fb54b1c9d2fbc3d4a62c6b4d38ff68e9d3b25c26;p=YACASL2.git diff --git a/as/FUNC/abs.casl b/as/FUNC/abs.casl index 8a25f8b..35aa20d 100644 --- a/as/FUNC/abs.casl +++ b/as/FUNC/abs.casl @@ -1,9 +1,17 @@ ;;; GR1を絶対値に変換する +;;; 入力 GR1:-32768〜32767の整数 +;;; 出力 GR1:入力された整数の絶対値 +;;; OF:入力されたGR1が-32768の場合、1 +;;; SF:入力されたGR1が負数(-32767〜-1)の場合、1 ABS START AND GR1,GR1 - JPL ABSFIN - JZE ABSFIN - XOR GR1,=#FFFF - LAD GR1,1,GR1 -ABSFIN RET + JPL FIN + JZE FIN + XOR GR1,ALLON + ADDA GR1,ONE + JOV FIN + CPL GR1,ALLON +FIN RET +ONE DC 1 +ALLON DC #FFFF END