X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=as%2FFUNC%2Fdivl1.casl;h=400cf055efbf45be257bf36ffc99ba494128a435;hb=e07b6371cc8a59c6793a895e968ff2c6cf28181b;hp=1d868900704ffaa5662170b7caf95606c7c97b21;hpb=fb54b1c9d2fbc3d4a62c6b4d38ff68e9d3b25c26;p=YACASL2.git diff --git a/as/FUNC/divl1.casl b/as/FUNC/divl1.casl index 1d86890..400cf05 100644 --- a/as/FUNC/divl1.casl +++ b/as/FUNC/divl1.casl @@ -1,5 +1,7 @@ -;;; GR1の値とGR2の値の、商をGR0、剰余をGR3に格納する -;;; 0〜65535の範囲の数値を扱う +;;; 0〜65535の範囲にある正数の割算(筆算方式)を行う +;;; 入力 GR1:被除数 GR2:除数 +;;; 出力 GR0:商 GR3:剰余 +;;; GR2が0の場合は、GR0、GR3とも0になり、オーバーフロー DIVL START PUSH 0,GR1 PUSH 0,GR2 @@ -34,9 +36,9 @@ DYZ LAD GR3,#FFFF ; 強制的にオーバーフローを発生さ ADDL GR3,=1 ; ↓ JUMP DFIN ; DFINへジャンプ DCP LD GR3,GR1 -DFIN POP GR4 +DFIN POP GR4 POP GR2 POP GR1 RET -DY DS 1 +DY DS 1 END