projects
/
YACASL2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
オプション指定時の動作を検証
[YACASL2.git]
/
as
/
FUNC
/
sum.casl
diff --git
a/as/FUNC/sum.casl
b/as/FUNC/sum.casl
index
85592c3
..
b9bfe11
100644
(file)
--- a/
as/FUNC/sum.casl
+++ b/
as/FUNC/sum.casl
@@
-1,14
+1,16
@@
;;; sum.casl
;;; sum.casl
-;;; 1からGR1で指定された値までの正数をすべて加算する
+;;; 入力 GR1: 1以上の正数
+;;; 出力 GR2: 1からGR1で指定された値までの正数をすべて加算した値。
+;;; オーバーフローした場合は、#FFFF
SUM START
LAD GR2,0
LAD GR3,1
SUM START
LAD GR2,0
LAD GR3,1
-
SLOOP
CPL GR3,GR1
- JPL
S
FIN
+
LOOP
CPL GR3,GR1
+ JPL FIN
ADDL GR2,GR3
ADDL GR2,GR3
- JOV
SERR
+ JOV
OV
LAD GR3,1,GR3
LAD GR3,1,GR3
- JUMP
S
LOOP
-
SERR
LAD GR2,#FFFF
-
SFIN
RET
+ JUMP LOOP
+
OV
LAD GR2,#FFFF
+
FIN
RET
END
END