X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=as%2Fcasl2lib%2Fouta.casl;h=4d0f1615d9254c969da2d7b84d17a0be639c793b;hb=748690820bb2be0b6daacd3d08f1c936750674ce;hp=3f7793d94efacc2a789ddd5d3ffc7adb8aeca321;hpb=c1f7164cea1d3e5aebb76dc26543b1de593b92bb;p=YACASL2.git diff --git a/as/casl2lib/outa.casl b/as/casl2lib/outa.casl index 3f7793d..4d0f161 100644 --- a/as/casl2lib/outa.casl +++ b/as/casl2lib/outa.casl @@ -116,3 +116,20 @@ PO CPL GR3,GR2 ; ループ先頭。(GR3 = GR2)の場合、ル FIN RPOP RET END +;;; GR1を絶対値に変換する +;;; 入力 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 +FIN RET +ONE DC 1 +ALLON DC #FFFF + END